Я дуже запізнився з цим, але це було перше питання, яке з’явилося, коли я шукав його. Тому я хотів би додати своє рішення для майбутніх глядачів, які стикаються з цим питанням.
Я вирішив це, використовуючи функцію замість об’єкта. Наприклад, припустимо, ми хочемо порівняти два бета-розподіли з різними параметрами. Ми можемо запустити:
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
.