R将列表组合成表格的特定格式

a83*_*a83 2 r list

我有一个包含不同条目数的子列表的列表,如下所示:

x <- list(
  c("a1", "a2", "a3", "a4", "a5", "a6", "a7"),
  c("b1","b2","b3","b4"),
  c("c1","c2","c3"),
  c("d1")
)
Run Code Online (Sandbox Code Playgroud)

我想将此文件转换为具有三列的数据帧(第一列是子列表的序列,即1到4:第二列是条目;第三列代表我的停止代码,因此,我为每行使用1 ,最终结果如下:

1  a1  1
1  a2  1
1  a3  1
1  a4  1
1  a5  1
1  a6  1
1  a7  1
2  b1  1
2  b2  1
2  b3  1
2  b4  1
3  c1  1
3  c2  1
3  c3  1
4  d1  1
Run Code Online (Sandbox Code Playgroud)

我尝试使用cbind,但是,在我看来只适用于具有相同数量条目的子列表.有没有更聪明的方法呢?

koh*_*ske 6

这是一个例子:

data.frame(
  x=rep(1:length(x), sapply(x, length)),
  y=unlist(x),
  z=1
)
Run Code Online (Sandbox Code Playgroud)