【发布时间】:2020-05-26 22:41:01
【问题描述】:
我想从列表列表中创建一个数据框,其中生成的数据框对于每个元素都有一列,并且行是单独的。这很难解释,所以我将尝试制作一个示例来处理。
假设我的清单如下:
myList <- list(
list(L=c(1,2,3),a=c(1,2,3),b=c(1,2,3)),
list(L=c(4,5,6),a=c(4,5,6),b=c(4,5,6)),
list(L=c(7,8,9),a=c(7,8,9),b=c(7,8,9)))
生成的数据框如下所示:
df <- data.frame(ind = c(1,2,3),
L.1 = c(1,4,7),L.2 = c(2,5,8), L.3 = c(3,6,9),
a.1 = c(1,4,7),a.2 = c(2,5,8), a.3 = c(3,6,9),
b.1 = c(1,4,7),b.2 = c(2,5,8), b.3 = c(3,6,9))
我尝试过使用
data.frame(do.call(rbind, myList))
df <- bind_rows(myList, .id="column_label")
但这些会为每个人生成三行,而不是所需的输出。
我也尝试过使用:
df <- bind_cols(myList)
但这会将列划分为每个列表。
知道该怎么做吗?
谢谢, 夏娃
【问题讨论】:
标签: r list dataframe nested-lists