首页 > 解决方案 > 将列表列表转换为数据框

问题描述

我有一个函数,它首先生成一个向量列表(使用 lapply 生成),然后将其 cbinds 到一个列向量。我认为这会产生一个数据框。但是,它会生成一个列表列表。

cbind 函数没有像我想象的那样工作。

这是函数生成的一个小例子

col_test <- c(1, 2, 1, 1, 2)
lst_test <- list(c(1, 2 , 3), c(2, 2, 2), c(1, 1, 2), c(1, 2, 2), c(1, 1, 1))
a_df <- cbind(col_test, lst_test)

打字

> a_df[1,]

给出输出

$`col_test`
[1] 1

$lst_test
[1] 1 2 3

我希望数据框是

     [,1] [,2] [,3] [,4]
[1,] 1    1    2    3

[2,] 2    2    2    2

[3,] 1    1    1    2

[4,] 1    1    2    2

[5,] 2    1    1    1

我怎样才能把它变成这个表格?

标签: rdataframe

解决方案


data.frame(col_test,t(as.data.frame(lst_test)))

推荐阅读