次のスクリプトは、最初に列名のみでファイルを作成し、次に各結果を追加することによってそれを行います。
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 = ", ")