如何将 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)
我正在尝试将数据(例如 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)