下面的腳本將首先創建只有列名的文件,然後追加去做每個結果。
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