Я очень опоздал с этим, но это был первый вопрос, который возник, когда я искал его. Поэтому я хотел бы добавить свое решение для будущих зрителей, которые столкнутся с этим вопросом.
Я решил это, используя функцию вместо объекта. Например, предположим, что мы хотим сравнить два бета-распределения с разными параметрами. Мы можем запустить:
z1<-rbeta(10000,5,5)
z2<-rbeta(10000,20,20)
plotit<-function(vector,alpha,beta){
plot(density(vector),xlim=c(0,1))
abline(v=alpha/(alpha+beta),lty="longdash")
}
И сохраняйте графики как функции, а не как объекты.
z.plot1<-function(){plotit(z1,5,5)}
z.plot2<-function(){plotit(z2,20,20)}
Затем мы можем вызывать каждый график по своему усмотрению, просто вызывая два графика как функции, а не как объекты.
z.plot1()
строит первый сюжет и
z.plot2()
сюжеты второй.
Надеюсь, это поможет тому, кто столкнется с этим позже!
plot
является универсальным, и,plot
насколько мне известно , разные методы возвращают такие объекты.plot.default
Однако действительно возвращаетсяNULL
.