Llegué muy tarde a esto, pero fue la primera pregunta que apareció cuando busqué la pregunta. Así que me gustaría agregar mi solución para futuros espectadores que se encuentren con la pregunta.
Resolví esto usando una función en lugar de un objeto. Por ejemplo, supongamos que queremos comparar dos distribuciones beta con diferentes parámetros. Podemos ejecutar:
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")
}
Y guarde los gráficos como funciones en lugar de objetos.
z.plot1<-function(){plotit(z1,5,5)}
z.plot2<-function(){plotit(z2,20,20)}
A continuación, podemos llamar a cada gráfico como queramos simplemente llamando a los dos gráficos como funciones en lugar de objetos.
z.plot1()
traza la primera parcela y
z.plot2()
traza el segundo.
¡Espero que ayude a alguien que se encuentre con esto más tarde!
plot
es genérico, y diferentesplot
métodos devuelven tales objetos, hasta donde yo sé.plot.default
, sin embargo, de hecho regresaNULL
.