我使用的是一台Windows虚拟机,上面安装了R和RStudio,并且我正在尝试更改R写入临时文件的目录。
当我启动R时,我尝试更改临时目录,然后关闭R。当我重新启动R并尝试tempdir()
时,它仍然显示旧目录,就好像什么都没有发生一样。但是,如果在尝试更改R中的临时目录后,我启动RStudio而不是重新启动R,当我在RStudio中尝试tempdir()
时,它会显示我在R中设置的新的/更新的目录。这是怎么可能的?这是怎么回事?为什么只有RStudio响应我对临时目录的更改,而不是R,即使我是在那里更改目录?
发布于 2016-07-16 01:39:33
您到底是如何设置临时目录的??tempdir
中的R文档是这样说的:
默认情况下,tmpdir将是tempdir()给定的目录。这将是R会话启动时由以下规则找到的每个会话临时目录的子目录。依次检查环境变量TMPDIR、TMP和TEMP,并使用第一个找到的指向可写目录的变量:如果没有成功,则使用‘/tmp’。路径不应包含空格。请注意,在R会话中设置这些环境变量中的任何一个都不会对tempdir()产生影响:每个会话的临时目录是在解释器启动之前创建的。
假设您设置了TMPDIR
环境变量,R(以及RStudio)应该做正确的事情。请注意,您必须在启动R/ RStudio之前进行设置;很可能您可以通过在~/.Renviron
或~/.Rprofile
中进行设置来完成此操作。
发布于 2017-12-06 15:33:16
在windows中,对我来说,有效的方法是创建一个名为Renviron.site的文件,并用
TMPDIR=E:/rtemp
TMP=E:/rtemp
TEMP=E:/rtemp
其中E:/rtemp是我想要存放临时文件的目录的路径。因此,您创建了一个新的文本文件,用上面的内容填充它,并将其名称(和扩展名)更改为Renviron.site。
将其放在R安装目录下的etc目录下(例如C:\Program Files\R\R-3.3.2\etc),然后重新启动RStudio或R。
https://stackoverflow.com/questions/38364431
复制相似问题