lapply 的二维参数列表

2D lists of parameters to lapply

遗憾的是无法实现如何在 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 值,但每个列表中的差异不应大于步骤。

此外,我不知道这是否是最好的方法,但我的 objective 是通过 lapply 传递此值,以使用带有 gredExtra::grid.arrange[ 的网格构建绘图=17=]

所以这个列表应该适合这个代码

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() 和 trim。