【发布时间】:2019-07-15 14:45:11
【问题描述】:
我有一系列设计为在其他计算机上运行的 R 代码。也就是说,所有代码都相对于一个根目录,其中包含一个 Rstudio 项目文件 .Rproj。没有绝对的文件路径。当我实际打开 Rstudio、加载 .Rproj 文件然后运行代码时,这工作正常。
但是我的一些代码需要几个小时才能运行,而且我需要设置多个脚本一个接一个地运行。这意味着创建一个 .sh 文件,然后从命令行依次运行 R 脚本。但是,我的程序都没有从命令行成功运行,因为根目录不再设置为 .Rproj 文件的根目录。我已经阅读过可以使用 here 包的信息,它会自动将根目录设置为 .here 文件所在的位置。对我来说不是这样。
它自动使用的工作目录是我正在使用的计算集群上的主目录。我的所有文件(包括 .Rproj 和 .here 文件)所在的区域位于不同的目录中,在该目录中分配了更多空间。两者都可以从一个共同的父目录访问,所以我假设 here() 函数能够找到我想要实际用于运行我的工作的目录。但事实并非如此。
实际上,我想将根目录设置为不是我正在使用的系统上的默认根目录的位置。我在那里放了一个 .here 文件,但它不在 here() 函数中,我认为这是它的主要目标。关于如何进行的任何想法?
编辑:我正在使用 UNIX 系统。 R 版本 3.4.2。
【问题讨论】: