问题描述
我有一个称为TumorData的数据框,其中的列是不同基因的基因表达数据,行是不同的患者。 我想要一个列(名称为TP53)对第3至12列中每个基因的散点图。 我做了以下
for(i in 3:12) {
GeneName <- colnames(TumorData[,i])
FileName <- paste0(GeneName,".png")
ggplot(TumorData,aes(x = TP53,y = GeneName)) +
geom_point()
ggsave(FileName)
}
但是当我转到保存的文件时,就好像它是一维图:仅相应绘制了第一个参数(TP53)。一切都在同一水平线上,Y轴甚至没有数字刻度。循环确实读取了“ GeneName”,因为实际的基因名称出现在每个图形的Y轴中,但是就像它并不能“理解”它是数据框中的列名称,并且应该检索数字值从那里。 我附加了一张图表的外观图像,因为我不确定自己的解释是否足够清楚。 This is how the graph looks
很抱歉,如果这太笨了,我是R的新手,对循环没有太多的经验,更不用说循环和图了。关于如何解决这个问题的任何想法?
编辑:我按照Stefan所说的那样使用了 .data
for(i in 3:12) {
GeneName <- colnames(AllPatients[,".png")
ggplot(AllPatients,y = .data[[GeneName]])) +
geom_point()
ggsave(FileName)
}
成功了,谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)