R:将多个csv文件的摘要合并到一个数据帧中

时间:2013-06-07 12:46:38

标签: r dataframe summary lapply

我有一个包含许多csv文件的目录。我想将它们读入,然后在一个数据框中创建一个列的摘要。

getSummary<-function(df){
   summary(df$Names)
}

filenames<-list.files(path, pattern="*.csv", full.names=T)
ldf<-lapply(filenames, read.csv, header=T)
results<-lapply(ldf, getSummary)

返回结果如下:

print(results)
[[1]]  a   b   c  d
      100  2   3  4
[[2]]  a   b   c  d
      97   4   2  6

我想要的是这样的东西

filename  a   b   c   d
1.csv    100  2   3   4
2.csv     97  4   2   6

有人可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:3)

我想你可能想要do.call(rbind,results)。但是,只有当每个组件至少有一个字母时(即每个组中必须存在所有列),这才有效。如果不是,您可以使用 plyr 中的rbind.fill

我还建议table是一个比summary更安全的功能。