r - 具有未确定长度的 R 函数列表作为参数
问题描述
我正在使用multiplot
本网站的功能
此函数将无限数量的图作为参数并将它们绘制在一起。使用下面的代码,我可以在 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))
但它没有给出我想要的结果
解决方案
使用第二个选项,您也很接近:
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
确实说将值组合成 Vector 或List。)
推荐阅读
- redux - Redux ToolKit 中的调度未更改状态
- java - How to define multiple query parameters in Spring boot
- c++ - 如何在 C++ 中的字符串函数中不返回任何值?
- vue.js - BootstrapVue 表粘性标题(CoreUI)
- git - 每当我尝试执行 git clone,git pull 时,Git 每次都会询问错误 URL 的密码
- spring - Spring Batch RabbitMQ 问题
- php - 如何对具有实时搜索功能的表进行分页?
- python-3.x - 使用带有方法的 python `eval()`
- c# - 使用递归创建一个程序,该程序将数组中的奇数作为特定格式的字符串返回 c#
- python - Python分割线并将其写入文件