当内部列表包含向量时,列表到数据框的列表

时间:2018-09-18 08:47:38

标签: r dataframe

我有2行的列表。列表中的每个元素也是一个列表:

[[1]]
[[1]]$column1
[1] "0"

[[1]]$column2
[1] "0" "1"

[[2]]
[[2]]$column1
[1] "1"

[[2]]$column2
[1] "0" "2" "3" "3"

我想将其转换为这样的数据框:

    column1     column2
1   0           "0" "1"
2   1           "0" "2" "3" "3"

我尝试使用

data.frame(matrix(unlist(my_list), nrow=2, byrow=T), stringsAsFactors=FALSE)

但它不了解列的值可能是向量的事实。

数据框中的单元格可以容纳矢量吗?如果是这样,我如何将其转换为所需格式?

1 个答案:

答案 0 :(得分:0)

另一种选择,使用list.rbind中的rlist

library(rlist)
as.data.frame(list.rbind(lst))
#  column1    column2
#1       0       0, 1
#2       1 0, 2, 3, 3

没有其他包装

as.data.frame(do.call(rbind, lapply(lst, rbind)))

数据

lst <- list(structure(list(column1 = "0", column2 = c("0", "1")), .Names = c("column1", 
"column2")), structure(list(column1 = "1", column2 = c("0", "2", 
"3", "3")), .Names = c("column1", "column2")))