Ich bin sehr spät dran, aber es war die erste Frage, die auftauchte, als ich nach der Frage suchte. Daher möchte ich meine Lösung für zukünftige Zuschauer hinzufügen, die auf die Frage stoßen.
Ich habe dies gelöst, indem ich eine Funktion anstelle eines Objekts verwendet habe. Angenommen, wir möchten zwei Beta-Verteilungen mit unterschiedlichen Parametern vergleichen. Wir können rennen:
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")
}
Und speichern Sie die Diagramme als Funktionen und nicht als Objekte.
z.plot1<-function(){plotit(z1,5,5)}
z.plot2<-function(){plotit(z2,20,20)}
Als nächstes können wir jedes Diagramm wie gewünscht aufrufen, indem wir einfach die beiden Diagramme als Funktionen und nicht als Objekte aufrufen.
z.plot1()
zeichnet die erste Handlung und
z.plot2()
zeichnet die zweite.
Hoffe das hilft jemandem, der später darüber stolpert!
plot
ist eine generische und verschiedeneplot
Methoden geben solche Objekte zurück, soweit ich weiß.plot.default
kehrt jedoch tatsächlich zurückNULL
.