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。
遗憾的是无法实现如何在 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。