更改R中的临时目录

g_p*_*ffo 4 r temp rstudio

我正在使用Windows虚拟机,我同时安装了R和RStudio,我正在尝试更改R写入临时文件的目录.

当我启动R时,我尝试更改临时目录,然后关闭R.当我重新启动R并尝试tempdir()它仍然显示旧目录时,好像什么也没发生.但是,如果在尝试更改RI中的临时目录后启动RStudio而不是重新启动R,那么当我tempdir()在RStudio中尝试时,它会显示我在R中设置的新/更新目录.这怎么可能?怎么了?为什么只有RStudio响应我更改的临时目录而不是R,即使这是我正在更改目录的地方?

Kev*_*hey 7

你究竟是如何设置临时目录的?R文档中?tempdir说:

默认情况下,tmpdir将是tempdir()给出的目录.这将是R会话启动时由以下规则找到的每会话临时目录的子目录.依次检查环境变量TMPDIR,TMP和TEMP,并使用指向可写目录的第一个:如果没有成功,则使用'/ tmp'.路径不应包含空格.请注意,在R会话中设置任何这些环境变量对tempdir()没有影响:在启动解释器之前创建每会话临时目录.

据推测,如果你设置了TMPDIR环境变量,R(以及RS​​tudio)应该做正确的事情.请注意,您必须在启动R/RStudio之前设置; 赔率是,你可以通过设置内它做到这一点~/.Renviron还是~/.Rprofile.

另请参阅:更改临时目录


Adr*_*ica 6

在Windows中,对我来说有效的方法是创建一个名为Renviron.site的文件并用

TMPDIR=E:/rtemp 
TMP=E:/rtemp 
TEMP=E:/rtemp
Run Code Online (Sandbox Code Playgroud)

其中E:/ rtemp是我想要临时文件的目录的路径。因此,您将创建一个新的文本文件,并在其中填充上面的内容,并将其名称(和扩展名)更改为Renviron.site。

将其放在R安装目录,目录等(例如C:\ Program Files \ R \ R-3.3.2 \ etc)中,然后重新启动RStudio或R。