我想学习一种将变量p
(数据帧列)集合绘制到网格中的好方法,而不是将每个变量写入grid.arrange函数。
p <- c()
for (i in 1:length(names(df)) - 1){
p[i] <- qplot(df[i])
}
grid.arrange(p, ncol = 5)
我想要一个方法:grid.arrange(p[1], p[2], ..., p[n]
)在网格中绘制每个图形。
答案 0 :(得分:0)
pl = replicate(5, ggplot(), simplify = FALSE)
grid.arrange(grobs = pl)
请注意,您的策略可以使用一些改进:
p
p = vector(length = ncol(df)-1, mode="list")
会更好
p[[i]] <-
不是p[i] <-
1:3 - 1
生成0 1 2
,0
不是有效索引reshape2::melt()
或tidyr::gather()
和替代方案,这样就可以避免对列名称进行尴尬的循环