R函数列表,长度不确定

时间:2019-01-02 12:49:04

标签: r list function ggplot2

我正在使用此websitemultiplot功能

此函数将不定数量的图形作为参数并将它们绘制在一起。通过下面的代码,我可以将2个列中的4个图绘制在一起。

library(ggplot2)
n = 4
p = lapply(1:n, function(i) {
    ggplot(data.frame(x = 1:10,y = rep(i,10)), aes(x = x, y = y)) +
    geom_point()
})

multiplot(p[[1]],p[[2]],p[[3]],p[[4]],cols = 2)

如果未确定地块n的数量怎么办?

我已经尝试过

multiplot(p,cols = 2)
do.call(multiplot, list(p,cols = 2))

但是它没有给出我想要的结果

2 个答案:

答案 0 :(得分:2)

也许是multiplot(plotlist = p)! 欢呼

答案 1 :(得分:2)

使用第二个选项,您也关闭了

do.call(multiplot, c(p, cols = 2))

自此开始工作

length(list(p, cols = 2))
# [1] 2
length(c(p, cols = 2))
# [1] 5

也就是说,list(p, cols = 2)列出了两个组成部分的列表:列表p和整数2,而您想要的是通过添加p来扩展cols = 2,我们需要。 (也许有些不太明显,但?c的标题确实的确是说将值合并为向量或列表 。)