将数据帧存储在列表中

时间:2016-02-27 04:39:00

标签: r list dataframe

我试图在列表中存储一堆数据帧,并且每个数据帧都有重要的列名(它们是股票名称,每个数据帧都不同)。

我将它们存储在一个列表中,因为这样可以使用foreach循环来完成,这将允许我事先运行它,然后使用列表作为信息数据库。

现在我有:

Y.matrices <- foreach(i = (1:600)) %dopar% {
  df = data.frame(data)
  return(df)
}

这个问题是我存储它们后,我不确定如何恢复数据帧。如果我这样做:

unlist(Y.matrices[1])

我得到一个丢失列名的长数字向量。是否有其他方法来存储这些数据框(即,可能不在列表中),这样我可以保留格式?

谢谢!

1 个答案:

答案 0 :(得分:1)

要访问1个单独的数据框,您可以使用Y.matrices[[#]],其中#是您要访问的数据框,如果结果需要是1个合并的数据框,则可以使用所有600个数据框:

library(dplyr)
df1 <- bind_rows(Y.matrices, .id = "df")

.id填写data.frame的编号,或者如果它们在列表中命名,则填写数据框的名称。