R 分段连续列表的方法
我想知道是否有另外一种方法可以用下面的结构分割连续列表,而不使用带sheceleton或结构的unlist和relist,也不使用带切点的unlist和splitR 分段连续列表的方法,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
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