在R中创建动态文件名的问题

时间:2010-08-13 17:55:14

标签: r

我正在处理R中的脚本,它处理一些数据并写入输出文件。我希望以反映输入文件的方式命名输出文件,并且我希望该文件是唯一的,因此不会覆盖旧文件。

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

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

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

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

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

3 个答案:

答案 0 :(得分:14)

你让catpaste感到困惑。你想要:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

您还可以使用paste:

的分隔符参数
outputfile <- paste(file_base,now,"output.txt", sep="-")