更改path.expand位置(Win 7)

Tyl*_*ker 13 r

目前:

path.expand("~")
Run Code Online (Sandbox Code Playgroud)

得到:

"C:\\Users\\trinker\\Documents"
Run Code Online (Sandbox Code Playgroud)

我想让它产生:

"C:\\Users\\trinker"
Run Code Online (Sandbox Code Playgroud)

Windows命令提示符的目录是C:\Users\trinker.这表明这是我的Windows主目录.

?path.expand告诉我看看rw-FAQ (LINK).这使得信息高于我的认知能力.我决定尝试如下实验:

> Sys.getenv("R_USER")
[1] "C:\\Users\\trinker\\Documents"
> normalizePath("~")
[1] "C:\\Users\\trinker\\Documents"

> Sys.getenv("R_USER") <- "C:\\Users\\trinker"
Error in Sys.getenv("R_USER") <- "C:\\Users\\trinker" : 
  target of assignment expands to non-language object
> normalizePath("~") <- "C:\\Users\\trinker"
Error in normalizePath("~") <- "C:\\Users\\trinker" : 
  target of assignment expands to non-language object 
Run Code Online (Sandbox Code Playgroud)

我看见:

Sys.setenv(...)
Sys.unsetenv(x)
Run Code Online (Sandbox Code Playgroud)

但是害怕我弄乱了我不应该盲目搞砸的东西,并决定寻求指导.

所以我想再次~意味着C:\\Users\\trinker\\(这是我最后一台PC的默认设置)而不是C:\\Users\\trinker\\Documents它现在.

Jos*_*ien 11

要持久地重置"~"为所有用户解析的目录,请将以下内容放在位于以下位置的文件Renviron.site$RHOME/etc/Renviron.site:

R_USER="C:/Users/trinker"
Run Code Online (Sandbox Code Playgroud)

(如果文件尚未存在,您可以自己创建.)


如果计算机支持多个R用户,并且每个用户都想设置自己的R_USER位置,则每个用户都可以将以下内容放在他们自己的".Rprofile"文件中:

Sys.setenv(R_USER = "C:/Users/trinker")
Run Code Online (Sandbox Code Playgroud)

".Rprofile"在用户的主目录中查找,该目录通过键入返回Sys.getenv("HOME").有关更多详细信息,请参阅?StartupR for Windows FAQ.

(感谢@Dason指出了这个.Rprofile选项.)

  • 将它放在Renviron.site中会影响计算机上的所有用户吗?虽然我很确定Tyler是唯一一个在他的电脑上使用R的人,但这似乎还不够.是否会更好地添加对.Rprofile的Sys.setenv调用?`Sys.setenv(R_USER ="C:/ Users/trinker")`里面.首先应该这样做. (5认同)