在Rscript中更改目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Rscript中更改目录相关的知识,希望对你有一定的参考价值。

如何让我的Rscript参数更改目录?

如果我的命令行参数是Rscript test.R“foo1”,我想要setwd("~/foo1"),但我得到的错误是它无法更改工作目录。

args<-commandArgs(trailingOnly=TRUE) 
lambda<args[1] 
fileEnd<-args[2] 
replicate<-args[3] 
directory<-args[4] 
setwd(directory)

示例命令行是Rscript test.R 0 1 10 "~/foo1"

答案

试试这个:

# use commandline arguments
args <- commandArgs(TRUE)

# the first argument is the working dir
working.dir <- args[1]

# change the working dir
setwd(file.path("~", working.dir))
另一答案

由于您未提供脚本的关键部分,因此无法给出具体答案。要简化故障排除,首先要添加要更改目录的完整物理路径。这样可以确保完整路径正常工作。

一般建议。

最结构化的方法是将[.Rprofile]文件放在您将触发Rscript的目录中。当Rscript启动R终端会话时,将读取本地[.Rprofile]。在[.Rprofile]中,您需要添加[setwd('/ yourpath')。如果您只想在开始时设置wd,则假定这是假设。

如果您需要在脚本过程中更改[setwd],您当然可以将它们包含在R文件中。请记住,当[加载/保存]时,Rstudio和R终端的行为会有所不同。当您通过其控制台更改某些内容并直接显示全局环境窗口中的更改时,Rstudio会动态执行操作。

对于从终端触发的Rscript,您必须确保为每个脚本添加[加载/保存] R,以补偿当它不在与Rscript运行会话时丢失环境。

Rstudio和R终端之间的差异行为非常重要,特别是如果您在Rstudio中测试场景并期望它在R-terminal中以相同的方式工作。

以上是关于在Rscript中更改目录的主要内容,如果未能解决你的问题,请参考以下文章

我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

如何在屏幕方向更改时附加片段?

如何从活动中更改片段中视图的可见性

在 NodeJS 中运行 R 脚本时产生 Rscript ENOENT 错误

AlertDialog 更改片段中的背景颜色 [重复]