質問
x [[state]] [[year]]
のようなリストのリストがあります。この各要素はデータフレームであり、個々にアクセスすることは問題ではありません。
ただし、複数のリストにまたがってデータフレームを再バインドしたいと思います。より具体的には、何年もの間、できるだけ多くのデータフレームを出力したいと思います。つまり、各年内のすべての状態データフレームをバインドします。つまり、年ごとにすべての状態データを個別のデータフレームに結合したいと考えています。
do.call(" rbind"、list)
を使用して、単一のリストをデータフレームに結合できることを知っています。しかし、リストのリスト間でこれを行う方法はわかりません。
解決
次の行に沿って何かを行うことができます(そのような構造がないため、テストできませんでした):
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)))
関数extract yearは、指定された年のデータフレームのみを含むリストを作成します。次に、それらをバインドします...
他のヒント
最初にリストに折りたたみます:
list <- unlist(listoflists, recursive = FALSE)
df <- do.call("rbind", list)
所属していません StackOverflow