Sono molto in ritardo a questo, ma è stata la prima domanda che si è presentata quando ho cercato la domanda. Quindi vorrei aggiungere la mia soluzione per i futuri spettatori che si imbattono nella domanda.
Ho risolto questo problema utilizzando una funzione anziché un oggetto. Ad esempio, supponiamo di voler confrontare due distribuzioni beta con parametri diversi. Siamo in grado di eseguire:
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")
}
e salvare le trame come funzioni piuttosto che oggetti.
z.plot1<-function(){plotit(z1,5,5)}
z.plot2<-function(){plotit(z2,20,20)}
Successivamente, possiamo chiamare ogni trama come vogliamo semplicemente chiamando i due grafici come funzioni anziché come oggetti.
z.plot1()
traccia la prima scena e
z.plot2()
trame del secondo.
La speranza che aiuta qualcuno che si imbatte in questo più tardi!
'plot' è un generico e diversi metodi' plot' restituiscono tali oggetti per quanto ne so. 'plot.default', tuttavia, restituisce' NULL'. –
Il tuo obiettivo è riuscire a sostituire il tuo grafico solo digitando 'p' dopo averlo salvato come oggetto? O ti piacerebbe salvarlo come un oggetto che poi potresti modificare i suoi valori, ad esempio? – LyzandeR
Potrei voler sovrapporre altri grafici sopra l'immagine salvata, ma non ho lo scopo di modificare la trama che è stata creata e salvata. Ho risposto alla tua domanda? Ths –