如果我想创建一个ggplot对象列表,那么每个新图都会覆盖旧图。它类似于here所提出的问题。虽然我能够使用lapply来解决这个问题,但我仍然无法弄清楚为什么这些图在循环中被覆盖。
library(ggplot2)
trash <- data.frame(matrix(rnorm(100), nrow = 50, ncol = 2))
colTrash <- data.frame(matrix(rnorm(100), nrow = 50, ncol = 2))
##Overwritten: both plots are same
pltList <- list()
for(i in 1:2){
pltList[[i]] <- ggplot(trash)+
geom_point(aes(X1,X2,color = colTrash[,i]))
}
#Not Overwritten: plots are different and correct
pltList <- lapply(1:2, function(i){
ggplot(trash)+
geom_point(aes(X1,X2,color = colTrash[,i]))
})