我如何改变第一个" long"列表l:
l <- list()
n=1
for (i in 1:9) {
l[[length(l)+1]] <- n:(n+2)
n=n+3
}
进入一个更广泛但更短的列表列表lol:在下一个代码段中,我在l每3个元素之后断开。
lol <- list()
lol[[1]] <- list(1:3,4:6,7:9)
lol[[2]] <- list(10:12,13:15,16:18)
lol[[3]] <- list(19:21,22:24,25:27)
有什么想法吗?如果我想在l的每2个元素后断开怎么办。
答案 0 :(得分:2)
您可以按向量1,1,1,2,2,2,3,3,3
分割它:
n = 3 # the length of each sub list
split(l, (seq_along(l) - 1) %/% n)
identical(lol, setNames(split(l, (seq_along(l) - 1) %/% 3), NULL))
# [1] TRUE