2017-02-24 6 views
1

LinuxでRscriptを40回実行するためにループしています。それが実行されるたびに、ファイルに追加する必要のある統計はほとんど生成されません。ファイルには、すべての統計情報が40回追加されたテーブルが必要です。これは私のコードです:
mean_data <- mean(m)
minimum <- min(m)
maximum <- max(m)
standard_daviation <- sd(m)
Range <- range(m)
file <- "map1"
x <-data.frame(file, mean_data,minimum,maximum,Range,standard_deviation)
system2("echo", args = paste0(" ", x ," >> tab_1.txt"))Rコマンドでファイルに値を追加シェルコマンドを呼び出す

期待される結果は次のとおりです。
file mean_data minimum maximum Range standard_deviation
[1] map1 1349 1100 1600 500 45
[2] map2 1242 1291 1628 337 38

しかし、結果はだった:私は毎回値を追加することはできませんので、はwrite.tableを使用して
[1] 1349 1100 1600 500 45
[2] 1242 1291 1628 337 38

は私のために良いオプションではありません。 上記のコードをシェルで40回実行しています。

答えて

1

append=TRUEwrite.tableに使用してください。

append

論理。 fileが文字列の場合のみ関連します。 TRUEの場合、出力はファイルに追加されます。 FALSEの場合、既存の名前のファイルはすべて破棄されます。

df <- data.frame(file, mean_data,minimum,maximum,Range,standard_deviation) 
if(!file.exists("filename.txt")) { 
    write.table(df, "filename.txt", col.names=TRUE) 
} else { 
    write.table(df, "filename.txt", col.names=FALSE, append=TRUE) 
} 
+0

ありがとうございます。それは働いた – amc794

関連する問題