6

R 3.0.3:我有 40 个 csv 文件,所有文件的结构都与我想rbind放入一个文件中的相同,因此我可以计算一列的平均值。

我搜索过:

  • 这个网站
  • R in a Nutshell
  • R_Intro来源
  • ?rbind Help在 RStudio 中

我找不到答案。

任何建议/指针?

4

2 回答 2

14

使用此处的答案 [导入多个文件并为其编制索引]

列出具有 .csv 扩展名的文件 - 这假定您的工作目录中唯一的 .csv 文件是您要阅读的文件

files  <- list.files(pattern = '\\.csv')

将文件读入列表 - 有标题吗?

tables <- lapply(files, read.csv, header = TRUE)

rbind 文件

combined.df <- do.call(rbind , tables)

然后你可以找到平均值- 找出哪些列是数字

s <- sapply(combined.df, is.numeric)

求数值变量的均值

colMeans(combined.df[s])
于 2014-04-19T12:22:38.590 回答
0

在更现代的 plyr 方法中:

files <- list.files(...)
data <- adply(files, 1, read.table)

(这是星期六下午:未经测试的代码,但方法很好)

于 2014-04-19T14:10:00.270 回答