为什么情节一样?

时间:2014-10-28 23:46:41

标签: r ggplot2 gridextra

经过大量编辑和一些有用的评论...

我想循环浏览四个文件,并在同一页面上的四个不同图中绘制每个文件中的数据。我需要为laneCombination的每个值(列号)执行此操作。使用下面的代码(错误的最小示例),我得到了所需的结果,除了图包含相同的数据

library(ggplot2)
library(grid)
library(gridExtra)

plots <- list()

for (laneCombination in 3:3) {
  for (depVar in 1:4) {
    simdata <- data.frame(cond = rep(c("A", "B"), each=10),
                                    xvar = 1:20,
                                    yvar = 1:20 + rnorm(20,sd=3))
    plots[[depVar]] <- ggplot(simdata, aes(xvar, simdata[,laneCombination]), environment = environment()) +
    geom_point() + geom_line() + labs(x="Duration", y=depVar) + theme(legend.position="none")
  }
  grid.arrange(plots[[1]], plots[[2]], plots[[3]], plots[[4]], ncol = 1, main = colnames(simdata[laneCombination]))
}

前三个图被最后一个覆盖: results http://i60.tinypic.com/2yulvk6.png

@ eipi10已正确识别评论中的问题:simdata[,laneCombination]导致范围问题。但是,他/她的评论(Addressing x and y in aes by variable number)中引用的SO问题中的解决方案似乎并未解决问题。我需要遍历列数字来完成我的任务。

0 个答案:

没有答案