如何将 R 中的数据导出到您使用命令行参数创建的目录?

How to export data in R to a directory that you have created with arguments from the command line?

我正在尝试将数据(例如 png 图像)保存到我根据命令行参数创建的文件夹中。

这是我的脚本。

#myscript.R

#!/usr/bin/Rscript --vanilla


args<-commandArgs(TRUE)

y=sample(10)
print(args[1])

dir.create(file.path(args[1]), recursive = TRUE)

newfolder=args[1]

png("/home/user/test/newfolder/myplot.png",height=2000,width=2000,res=300)
plot(y)
dev.off()

当我启动它时,给出 1 个参数(=我要创建的目录的名称)---> ./my_script.R mynewfolder 它确实创建了目录,但它给我这个错误:

[1] "mynewfolder"
Error in plot.new() : 
  could not open file '/home/user/test/newfolder/myplot.png'
Calls: plot -> plot.default -> plot.new
Execution halted

似乎是在创建新文件夹之前绘制的情节,因此无法识别。

我将 args[1] 保存在变量 newfolder 中以防万一(因为我尝试编写 args 参数但它也不起作用)

 png("/home/user/test/args[1]/myplot.png",height=2000,width=2000,res=300)
    plot(y)
 dev.off()

有人知道怎么解决吗? 我需要先根据用户的参数创建文件夹(通过 bash 或 R),然后在 R 中使用该文件夹保存数据。

非常感谢

我找到了解决方案。问题是我想用字符串粘贴一个输出。我需要 paste0.

 png(paste0("/home/user/test/", args[1], "/myplot.png"),height=2000,width=2000,res=300)