下午好!
我要转换如下列表:
list_1= list(c(1,30,25),c(51,70),c(102,130,125))
成为:
list_2=list(c(1,2,3),c(4,5),c(6,7,8))
我知道我们可以使用list_1
来获取长度:
lengths(list_1)
3 2 3
list_2
代表list_1
元素的索引(以防我们取消列出)。
我希望我的问题很清楚,谢谢您的提前帮助!
答案 0 :(得分:3)
使用split
。
ll <- lengths(list_1)
unname(split(seq(unlist(list_1)), rep(seq(ll), ll)))
# [[1]]
# [1] 1 2 3
#
# [[2]]
# [1] 4 5
#
# [[3]]
# [1] 6 7 8
答案 1 :(得分:1)
带有relist
relist(seq_along(unlist(list_1)), skeleton = list_1)
#[[1]]
#[1] 1 2 3
#[[2]]
#[1] 4 5
#[[3]]
#[1] 6 7 8