r - 要应用的 2D 参数列表
问题描述
可悲的是无法意识到如何在 R 中做到这一点,但这个想法很简单。
我想要的是一个范围内的数字对列表,其中第一对是第一个值和第一对最大长度的总和,最后我应该有类似的东西:
somefun <- function(start, end, step){...}
l <- somefun (5, 30, 5)
l
#[[1]]
#[[1]][[1]]
#[1] 5
#
#[[1]][[2]]
#[1] 10
#
#[[2]]
#[[2]][[1]]
#[1] 11
#
#[[2]][[2]]
#[1] 16
#
#[[3]]
#[[3]][[1]]
#[1] 17
#
#[[3]][[2]]
#[1] 22
#
#[[4]]
#[[4]][[1]]
#[1] 23
#
#[[4]][[2]]
#[1] 28
#
#[[5]]
#[[5]][[1]]
#[1] 29
#[[5]][[2]]
#[1] 30
因此,最终列表应该具有第一个start
和最后一个end
值,但每个列表内的差异不应大于步长。
另外,我不知道这是否是最好的方法,但我的目标是通过这个值lapply
来使用网格构建一个绘图gredExtra::grid.arrange
所以列表应该适合这个代码
p_list = lapply(myRanges, function(a,b){
my_gg_function(myData[a:b], font=f)
})
do.call(gridExtra::grid.arrange, c(p_list, ncol=2))
提前致谢
解决方案
这个怎么样
somefun <- function(start, end, step){
starts <- seq(start, end, step+1)
ends <- pmin(starts + step, end)
mapply(list, starts, ends, SIMPLIFY = FALSE)
}
somefun(5, 30, 5)
我们只是根据需要使用基本seq()
和修剪。
推荐阅读
- azure - 适用于来自 Azure 云服务的流量的 Azure NSG 规则
- sql - 使用公用表表达式运行多个查询
- python - 将默认列表参数传递给数据类
- ubuntu-15.04 - ubuntu 操作系统 apt-get upate 命令给了我错误
- c++ - 返回本地对象的元组
- javascript - Angular - 如何显示数组中的数据?
- javascript - 参数列表后未捕获的 SyntaxError: 缺失) - Forloop JS
- ios - 导出 Xcode 应用程序供个人通过 Web 服务器下载
- powershell - 将文件从多个文件夹移动到相应的目标文件夹
- yii2 - 代码接收:[RuntimeException] 调用未定义的方法 ApiTester::sendDELETE