0
我试图在for循环中创建三个不同的绘图,然后将它们一起绘制在同一个图形中。 我知道有些关于这个话题的问题已经被问到。但我不知道我做错了什么。为什么我的情节被覆盖。尽管如此,我尝试了两种解决方案(创建一个列表或使用assign函数),我不知道为什么我会在循环结束时覆盖我的绘图。防止在for循环中覆盖绘图
所以,第一个解决方案是创建一个列表:
library(gridExtra)
library(ggplot2)
out<-list()
for (i in c(1,2,4)){
print(i)
name= paste("WT.1",colnames([email protected][i]), sep=" ")
print(name)
out[[length(out) + 1]] <- qplot([email protected][i],
geom="density",
main= name)
print(out[[i]])
}
grid.arrange(out[[1]], out[[2]], out[[3]], nrow = 2)
当我打印在循环中的情节,我得到我想要的...但当然,他们不在一起。
当我在最后绘制它们放在一起,我得到了所有的三个相同的情节:最后情节我做到了。
这是第二个选项:分配功能。我也有完全一样的问题。
for (i in c(1,2,4)) {
assign(paste("WT.1",colnames([email protected][i]),sep="."),
qplot([email protected][i],geom="density",
main=paste0("WT.1",colnames([email protected][i]))))
}
请上提供[再现的示例]读到(https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-可重现的例子),所以其他用户更容易为您提供帮助。 – shreyasgm