R将列表列表转换为数据帧,列表编号为列

so1*_*eit 2 r list

什么感觉就像一个非常简单的问题,我只是坚持.我正在尝试将列表列表分成2列数据​​框,列表编号为列.

样本数据:

d <- list("1" =c("ad","af"), "2" =c("bc","bd","be"))
> d
$`1`
[1] "ad" "af"

$`2`
[1] "bc" "bd" "be"
Run Code Online (Sandbox Code Playgroud)

期望的输出:

ID    Value
1     ad
1     af
2     bc
2     bd
2     be
Run Code Online (Sandbox Code Playgroud)

for循环可以完成这项工作,但我正在努力避免这种情况.该unlist函数实际上比我想要的稍微完成,因为它在名称中列出了列表名称后跟元素号:

unlist(d)
  11   12   21   22   23 
"ad" "af" "bc" "bd" "be" 
Run Code Online (Sandbox Code Playgroud)

谢谢!

Col*_*vel 5

你可以简单地使用:

stack(d)
#  values ind
#1     ad   1
#2     af   1
#3     bc   2
#4     bd   2
#5     be   2
Run Code Online (Sandbox Code Playgroud)