分段连续列表的方法

时间:2016-06-05 10:11:34

标签: r

我想知道是否有另外一种方法可以使用以下结构对连续列表进行分段而不使用unlist并重新使用sheceleton或结构,也不使用unlist并使用cut points进行拆分。

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

进入

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

2 个答案:

答案 0 :(得分:1)

也许这会有所帮助

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

答案 1 :(得分: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