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 爬虫保存的scv文件0kb
  • ¥20 如何实现基于强化学习的带电作业机械臂的运动规划与控制
  • ¥15 使用wpf制作打砖块游戏时遇到的一个Bug
  • ¥15 qrCodeDetector.detectAndDecode
  • ¥15 海洋可控源和大地电磁一维联合反演
  • ¥15 MFC多文档程序获取视图指针问题
  • ¥20 解体如何编写程序还有运行结果截图
  • ¥15 如何把matlabR2023遗传算法工具箱里面的各类选项对应的代码调出来呢?
  • ¥30 MDIGetActive() 获取活动view
  • ¥15 有数据,如何安装使用CLIP模型检索图片