【发布时间】:2018-10-27 11:30:16
【问题描述】:
我有很多 csv 文件要读取,然后与更大的文件合并(每个文件单独合并)。所以我写了这个函数来读取文件(作品):
read <- function(x) {
read.csv(paste("StringCount_Length=", x, ".csv", sep = ""), header=TRUE, sep=",")
}
现在我想遍历文件,读取并合并它们。但是,合并不起作用给我这个错误消息:
fix.by(by.x, x) 中的错误:“by”必须指定唯一有效的列
如果我将特定文件放在合并命令中,我不会收到错误消息,所以我的错误一定存在,但我不太清楚哪里出错了。 将不胜感激任何帮助或建议!
for (x in c(2:5)) {
assign(paste("data", x, sep=""), read(x))
assign(paste("data_total_",x, sep=""), merge(paste("data", x, sep=""), data_old, by="Subject"))
}
【问题讨论】:
-
变量名可能有错别字?您确定变量
Subject存在于每个数据集中吗? -
这也是我的第一个想法,但似乎没问题。当我用数据文件替换粘贴语句时它工作正常
-
此外,您可能需要考虑使用 data.tables 列表,并使用 Reduce 将它们组合起来,如 answer 中所述。