【发布时间】:2014-05-19 02:31:44
【问题描述】:
我正在从事一个项目,该项目从给定文件夹中导入所有 csv 文件并将它们合并到一个文件中。我能够从文件夹中的每个文件中导入我想要的行和列,但现在需要帮助将它们全部合并到一个文件中。我不知道我最终会得到多少个文件(可能大约 120 个),所以我不想一个一个地合并它们。
这是我目前所拥有的:
# Import All files
rowsToUse <- c(9:104,657:752)
colsToUse <- c(15,27,28,29,30,33,35)
filenames <- list.files("save", pattern="*.csv", full.names=TRUE)
for (i in seq_along(filenames)) {
assign(paste("df", i, sep = "."), read.csv(filenames[i])[!is.na(30),][rowsToUse,colsToUse])
}
# Merge into one file
for (i in seq_along(filenames)) {
df<-rbind(df.[i])
}
代码的第一部分创建了一系列标记为 df.1、df.2 等的数据帧。我希望它们最终出现在一个名为 df 的最终数据帧中。所有文件的结构都相同。
如果有人能多花几分钟时间,我将非常感谢您的帮助!谢谢!
【问题讨论】:
-
先将它们作为列表读入,然后使用
do.call(rbind, your_list)。
标签: r dataframe rbind read.csv