【问题标题】:Append values to a file in R invoking shell commands将值附加到 R 中调用 shell 命令的文件
【发布时间】:2017-07-14 17:13:50
【问题描述】:

我在 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" ))

预期结果为:
file mean_data minimum maximum Range standard_deviation
[1] map1 1349 1100 1600 500 45
[2] map2 1242 1291 1628 337 38

但结果是:
[1] 1349 1100 1600 500 45
[2] 1242 1291 1628 337 38

使用 write.table 对我来说不是一个好选择,因为我无法每次都附加这些值。 我在 shell 中使用上述代码运行脚本,循环 40 次。

【问题讨论】:

    标签: r append rscript


    【解决方案1】:

    write.table 中使用append=TRUE

    append

    合乎逻辑。仅当文件是字符串时才相关。如果为 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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多