如何让R将您的工作目录识别为其工作目录?

如何让R将您的工作目录识别为其工作目录?,r,path,installation,working-directory,R,Path,Installation,Working Directory,我在几台机器上使用Windows下的R 我知道可以在R脚本中设置工作目录,如下所示 setwd("C:/Documents and Settings/username/My Documents/x/y/z") 。。。但这破坏了脚本的可移植性。必须反转所有斜杠也很烦人(因为Windows提供反斜杠) 是否有一种方法可以在特定的工作目录中启动R,这样您就不需要在脚本级别执行此操作?如果您使用的是Emacs/ESS,这不是问题。我导航到R脚本所在的目录,打开它,然后启动一个R ESS进程。弹出一个R

我在几台机器上使用Windows下的R

我知道可以在R脚本中设置工作目录,如下所示

setwd("C:/Documents and Settings/username/My Documents/x/y/z")
。。。但这破坏了脚本的可移植性。必须反转所有斜杠也很烦人(因为Windows提供反斜杠)


是否有一种方法可以在特定的工作目录中启动R,这样您就不需要在脚本级别执行此操作?

如果您使用的是Emacs/ESS,这不是问题。我导航到R脚本所在的目录,打开它,然后启动一个R ESS进程。弹出一个R控制台,当前目录作为R的工作目录

如果您尚未转换为Emacs/ESS,我建议您使用它。(虽然为了防止火焰之战,我也注意到Vi用户也有类似的选择。)


希望有帮助。

您可以使用环境变量。这可以用于
Sys.getenv()
Sys.setenv()
。例如:

> Sys.setenv(R_TEST="testit")
> Sys.getenv("R_TEST")
  R_TEST 
"testit" 

如果您在脚本中发送了变量,您应该能够从内部访问该变量,然后在该输出上调用
setwd()

您应该将快捷方式复制到R(R.lnk文件)到desire文件夹。然后在“属性”(鼠标右键->最后一个选项)中,删除第二个选项卡(“快捷方式”)中“起始于…”字段中的任何内容。如果您使用此快捷方式启动R,则工作目录将是快捷方式所在的目录

我没有英文版的Windows,所以我不确定字段名,但它们应该很容易找到

R-windows-faq中也有类似问题:

在2.14中提到:

工作目录是从中启动Rgui或Rterm的目录,除非在快捷方式属性的“起始位置”字段给出快捷方式时使用了该快捷方式


将工作区保存到所需目录,然后从Windows资源管理器中打开工作区。

只是一个细节:只需添加另一个反斜杠,而不是像您所说的那样反转斜杠。其中两个\\的工作方式与其中一个/的工作方式相同。这至少让它变得简单了一点。

我在脚本前面放了下面一行,这样我就可以跨计算机工作了

setwd(path.expand("~/path/to/working/directory/") )
其中~is=指向您的主目录

Sys.setenv(HOME=“path”)
Sys.setenv(R\u USER=“path”)
都可以设置主目录


在我的例子中,我在几个windows框上工作,每个都有相当不同的目录结构,但是通过正确设置主目录,我可以在计算机之间同步代码,并让它们在每个计算机上正确运行,因为我运行R项目的地方有类似的目录结构

将R gui的快捷方式放入所需目录中。右键单击并查看快捷方式属性。删除“开始”的条目,然后单击“确定”。当您从此快捷方式启动R gui时,默认目录将是您启动的文件夹。将此快捷方式复制/粘贴到您想要的任何位置。

对于Ubuntu:
将以下命令插入
.Rprofile
文件(通常在主目录中):


现在,您的默认工作目录将是启动R的任何目录。请记住,您还可以通过将工作区映像保存为
.RData
来设置不同目录中的默认工作区,方法是在计划启动R的任何位置(在
cwd
中搜索
.RData
之前,启动源
.Rprofile
).

要将R工作目录设置为我正在工作的R脚本的当前目录,我总是使用命令
getwd()
setwd()
的组合,如下所示:


在R Studio中设置工作目录的路径: 请参阅带有屏幕截图的详细幻灯片

  • 使用setwd():windows用户需要将反斜杠“”替换为正斜杠“/”或双反斜杠“\” 您可以使用find&replace(快捷方式:Ctrl+F)执行前者
  • 另一个选项:转到会话-->设置工作目录-->选择工作目录并浏览要设置为工作目录的文件夹,单击打开
  • 最快方法(我的最爱)使用快捷方式“Ctr+Shift+H”(在windows系统上),浏览要设置为工作目录的文件夹,单击“打开”
  • 在R Studio中设置永久工作目录(不在项目中时): 请参阅我的快速视频:

    转到工具-->全局选项-->R常规[Basic]-->默认工作目录(不在项目中时) 浏览要设置为工作目录的文件夹,单击“应用”和“确定”


    然而,组织工作的有效且更好的方法是创建项目并使用版本控制。

    你的答案和我的答案有什么区别?以这种方式设置的环境变量是否在R会话中持续存在?完全重新启动计算机怎么样?不,但如果您将其添加到.Rprofile文件中,它会重新启动。或者,您可以从操作系统中获取系统变量(例如,在Windows中,您可以将值存储在环境变量中)。+1 Ehva:当您使用普通的旧版本R并且只想设置一次工作目录时,这是最简单的方法。对于Mac呢?@robertevansanders我没有使用Mac的经验。问题是关于Windows的。这个问题在RStudio和它的项目时代已经过时了。这就是我一直在寻找的OSX的答案。(我在
    Rscript
    文件中使用命令查找调用的目录,而不是在
    .Rprofile
    文件中)
    setwd(Sys.getenv("PWD"))