下面的脚本将首先创建只有列名的文件,然后追加去做每个结果。
filename <- system("ls /dir/",intern=TRUE)
column_names <- data.frame(filename = "filename", mean = "mean")
write.table(column_names, file = "output.csv", row.names = FALSE,
append = FALSE, col.names = FALSE, sep = ", ", quote = TRUE)
for(i in 1:length(filename)){
file <- read.table(filename[i],header=FALSE)
newline <- data.frame(t(c(filename[i], mean(as.numeric(file$V4)))))
write.table(newline, file = "output.csv", row.names = FALSE,
append = TRUE, col.names = FALSE, sep = ", ")
}
在每一步写入该文件是不是很有效,虽然,你可能会考虑只在年底做:
filename <- system("ls /dir/",intern=TRUE)
results <- data.frame(filename = "filename", mean = "mean")
for(i in 1:length(filename)){
file <- read.table(filename[i],header=FALSE)
newline <- data.frame(t(c(filename = filename[i], mean = mean(as.numeric(file$V4)))))
results <- rbind(results, newline)
}
write.table(results, file = "output.csv", row.names = FALSE,
append = FALSE, col.names = TRUE, sep = ", ")
由于生病尝试这些,在低效率的解决方案将其添加到我的循环谈到了1:在write.csv(data.frame(FNAME =文件名[我],平均=平均),...: 尝试设置“追加”忽略 – user964689
其他的解决方案寿感谢伟大的,所以快得多,你是对的! – user964689