从R中的列表列表创建数据帧

时间:2016-04-04 11:05:21

标签: r dataframe formatting

我有一个变量out,它是一个列表列表,我想将第一个子列表格式化为数据帧。说我的out看起来像这样:

[[1]]
[[1]]$id
[1] "1"

[[1]]$input
[1] "A" "B" "C" 

[[2]]
[[2]]$id
[1] "2"

[[2]]$input
[1] "R" "S" "T"

class(out)class(out[[1]])确认这是一个列表清单。

我想创建一个" long"数据框应该如下所示:

id    input
1     "A"
1     "B"
1     "C"
2     "R"
2     "S"
2     "T"

我试过了:

lapply(out, function(x){
     as.data.frame(x)
   })

但似乎这样做cbind并为每个子列表创建新列。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

library(plyr)
ldply(out, as.data.frame)