如何将列表转换为r中的数据帧

时间:2017-01-10 06:56:32

标签: r

我有一个包含50列的数据框,其中25列是类型列表。如何将它们转换为类型为整数

的最终单个数据帧

我是用

做的
df_list=names(which(sapply(df,is.list))
df_list=df[df_list]
do.call("rbind",df_list)

但它没有进行转换。我该怎么办?

2 个答案:

答案 0 :(得分:1)

我们可以通过循环“df_list”指定的列来unlist list列并重新分配输出

df[df_list] <- lapply(df[df_list], unlist)

数据

df <- data.frame(col1 = 1:5, col2 = I(as.list(1:5)), col3 = I(as.list(6:10)))
df_list <- sapply(df, is.list)

答案 1 :(得分:0)

将列表转换为dataframe

df_list=df[df_list]
library(data.table)
rbindlist(df_list, idcol=TRUE)