R语言中for循环与图片变量的问题

我是一个R语言初学者,在使用For循环画图遇到一个问题,首先我有两个基因名,利用For语言画图得到p1,p2;最后我想要使用CombinePlots将得到的所有的p1,p2....组合起来,

我希望能够根据我输入基因的数量n,在plots = list()里自动生成p1,p2,p3...到pn,不需要手动去输入p1,p2,p3...到pn,但是一直找不到方法实现,我不知道我阐述的够不够清楚

a = 0
for (i in c("Gene1","Gene2")){
    a = a+1
    assign(paste("p",a,sep=""),VlnPlot(pro, features = i, pt.size=0,use.raw = TRUE, y.log = TRUE)+labs(x = "", y = i, title = ""))
  }

pic <- CombinePlots(plots = list(p1,p2),ncol=ncols,legend = "none")

下面这个命令纯粹只是一个画图的命令,得到p1这张图与第一个基因Gene1对应

assign(paste("p",a,sep=""),VlnPlot(pro, features = i, pt.size=0,use.raw = TRUE, y.log = TRUE)+labs(x = "", y = i, title = ""))

你是想把plots=list(p1,p2...),这步让程序自己写是不,可以这么写。
plots=list()
for (i in 1:4) {
if(i==1)a<-"p1"
else a<-paste("plots=rbind(",a,",p",i,")",sep="")
eval(parse(text =a))
}
plots

https://blog.csdn.net/weixin_30894583/article/details/95210479

看过了,貌似看不懂

img