【问题标题】:problem creating dynamic file name in R在 R 中创建动态文件名的问题
【发布时间】:2010-08-13 17:55:14
【问题描述】:

我正在处理 R 中的一个脚本,该脚本处理一些数据并写入一个输出文件。我希望以反映输入文件的方式命名该输出文件,并且我希望该文件的某些内容是唯一的,这样旧文件就不会被覆盖。

所以我想使用时间戳。但这并不像我希望的那样工作,我想了解正在发生的事情以及如何正确地做到这一点。

这就是我尝试命名文件的方式(file_base 是输入文件的名称):

now<-format(Sys.time(), "%b%d%H%M%S")
outputfile<-cat(file_base, "-",now,"-output.txt", sep="")

这对函数的输出看起来很棒。但是执行 'outputfile' 随后会导致 'NULL' 作为输出。

这里发生了什么,如何创建具有我想要的属性的输出文件名?

【问题讨论】:

    标签: r


    【解决方案1】:

    您混淆了catpaste。你想要:

    outputfile <- paste(file_base, "-",now,"-output.txt", sep="")
    

    【讨论】:

    • 另外,paste0(file_base, ...) 没有sep=""
    【解决方案2】:

    您也可以使用函数 sprintf(),它是 C 函数的包装器。 示例:

    filepath <- file.path(outdir, sprintf("abcdefg_%s.rda", name))
    

    【讨论】:

      【解决方案3】:

      您也可以使用 paste 的分隔符参数:

      outputfile <- paste(file_base,now,"output.txt", sep="-")
      

      【讨论】:

        猜你喜欢
        • 2020-04-08
        • 1970-01-01
        • 1970-01-01
        • 2017-03-25
        • 1970-01-01
        • 2014-09-02
        • 1970-01-01
        • 2021-07-04
        相关资源
        最近更新 更多