weixin_46036615 2019-12-17 00:32 采纳率: 50%
浏览 929
已采纳

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 = ""))
  • 写回答

3条回答 默认 最新

  • 小黑马97ai 2020-01-02 23:27
    关注

    你是想把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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 提问应符合社区要求 12月5日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵