R 分段连续列表的方法

R 分段连续列表的方法,r,R,我想知道是否有另外一种方法可以用下面的结构分割连续列表,而不使用带sheceleton或结构的unlist和relist,也不使用带切点的unlist和split D <- list(c(1,2,3,4),c(1,2,3,4,5,6),c(1,2,3,4),c(1,2,3,4,5,6)) D [[1]] [1] 1,2,3,4 [[2]] [1] 1,2,3,4,5,6 [[3]] [1] 1,2,3,4 [[4]] [1] 1,2,3,4,5,6 也许这会有帮助 lapply(se

我想知道是否有另外一种方法可以用下面的结构分割连续列表,而不使用带sheceleton或结构的unlist和relist,也不使用带切点的unlist和split

D <- list(c(1,2,3,4),c(1,2,3,4,5,6),c(1,2,3,4),c(1,2,3,4,5,6)) 
D
[[1]]
[1] 1,2,3,4
[[2]] 
[1] 1,2,3,4,5,6
[[3]]
[1] 1,2,3,4
[[4]]
[1] 1,2,3,4,5,6

也许这会有帮助

lapply(seq(1, length(D), by =2), function(i) D[i:(i+1)])

split
获取对象和一个因子并返回一个列表,
unsplit
反转操作:

> f <- c(1,1,2,2)
> (S <- split(D, f))
$`1`
$`1`[[1]]
[1] 1 2 3 4

$`1`[[2]]
[1] 1 2 3 4 5 6


$`2`
$`2`[[1]]
[1] 1 2 3 4

$`2`[[2]]
[1] 1 2 3 4 5 6


> unsplit(S, f)
[[1]]
[1] 1 2 3 4

[[2]]
[1] 1 2 3 4 5 6

[[3]]
[1] 1 2 3 4

[[4]]
[1] 1 2 3 4 5 6
>f(S,f)
[[1]]
[1] 1 2 3 4
[[2]]
[1] 1 2 3 4 5 6
[[3]]
[1] 1 2 3 4
[[4]]
[1] 1 2 3 4 5 6

正确,许多感谢我明白了这个想法,尽管示例不同,但在网站上找不到类似的东西,谢谢。
> f <- c(1,1,2,2)
> (S <- split(D, f))
$`1`
$`1`[[1]]
[1] 1 2 3 4

$`1`[[2]]
[1] 1 2 3 4 5 6


$`2`
$`2`[[1]]
[1] 1 2 3 4

$`2`[[2]]
[1] 1 2 3 4 5 6


> unsplit(S, f)
[[1]]
[1] 1 2 3 4

[[2]]
[1] 1 2 3 4 5 6

[[3]]
[1] 1 2 3 4

[[4]]
[1] 1 2 3 4 5 6