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")

mylist
reformae2::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

谢谢你的贡献!