我有一个列表如下:x[[state]][[year]]
。这个元素的每个元素都是一个数据框,单独访问它们不是问题。
但是,我想在多个列表中绑定数据帧。更具体地说,我想拥有与我多年一样多的数据帧输出,即每年所有状态数据帧的rbind。换句话说,我想将我所有的状态数据逐年合并到不同的数据框中。
我知道我可以将单个列表合并到do.call("rbind",list)
的数据框中。但是我不知道如何在列表列表中这样做。
答案 0 :(得分:38)
首先将其折叠到列表中:
list <- unlist(listoflists, recursive = FALSE)
df <- do.call("rbind", list)
答案 1 :(得分:9)
你可以沿着以下几行做某事(我无法测试,因为我没有这样的结构):
extract.year <- function(my.year) lapply(x, function(y) y[[my.year]])
x.by.year <- sapply(my.list.of.years, function(my.year)
do.call(rbind, extract.year(my.year)))
函数抽取年创建一个仅包含给定年份的数据框的列表。然后你回复他们......