x是列表,y是列表系列的切割点,我尝试过切割和拆分(使用因子和如下),但不起作用。
x <- list (c( 1,2,3 ), c(2,3,4) , c(5,6,7) , c(3,2,1) , c(5,4,2) , c(3,2,5))
y <- c(2, 3, 4)
期望的输出
[[1]]
[[1]]
[1] 1 2 3
[[2]]
[1] 2 3 4
[[2]]
[[1]]
[1] 5 6 7
[[3]]
[[1]]
[1] 3 2 1
[[2]]
[1] 5 4 2
[[3]]
[1] 3 2 5
答案 0 :(得分:2)
我们可以尝试Map
Map(function(i, j) x[i:j], c(1, y[-1]), c(y[-length(y)], length(x)))
#[[1]]
#[[1]][[1]]
#[1] 1 2 3
#[[1]][[2]]
#[1] 2 3 4
#[[2]]
#[[2]][[1]]
#[1] 5 6 7
#[[3]]
#[[3]][[1]]
#[1] 3 2 1
#[[3]][[2]]
#[1] 5 4 2
#[[3]][[3]]
#[1] 3 2 5