R 取消列出并为每个列表元素和每个值创建编号
我有这样一份清单:R 取消列出并为每个列表元素和每个值创建编号,r,list,R,List,我有这样一份清单: mylist <- list(c("A", "B", "C"), c("D", "E"), "F") mylist [[1]] [1] "A" "B" "C" [[2]] [1] "D" "E" [[3]] [1] "F" m
mylist <- list(c("A", "B", "C"), c("D", "E"), "F")
mylist
[[1]]
[1] "A" "B" "C"
[[2]]
[1] "D" "E"
[[3]]
[1] "F"
mylist这里是一个使用stack
+ave
type.convert(
transform(
setNames(
stack(setNames(mylist, seq_along(mylist))),
c("Desc", "List")
),
id = ave(seq_along(unlist(mylist)), List, FUN = seq_along)
),
as.is = TRUE
)
给
Desc List id
1 A 1 1
2 B 1 2
3 C 1 3
4 D 2 1
5 E 2 2
6 F 3 1
数据
mylist <- list(c("A", "B", "C"), c("D", "E"), "F")
mylistreformae2::melt
有一个列表方法。然后在每个列表元素的length
上使用sequence
添加“id”:
transform(reshape2::melt(mylist), id = sequence(lengths(mylist)))
value L1 id
1 A 1 1
2 B 1 2
3 C 1 3
4 D 2 1
5 E 2 2
6 F 3 1
或在基础中
:
len = lengths(mylist)
data.frame(x = unlist(mylist), List = rep(seq_along(len), len), id = sequence(len))
x List id
1 A 1 1
2 B 1 2
3 C 1 3
4 D 2 1
5 E 2 2
6 F 3 1
谢谢你的贡献!