13

目前:

path.expand("~")

给出:

"C:\\Users\\trinker\\Documents"

我希望它产生:

"C:\\Users\\trinker"

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 

我看见:

Sys.setenv(...)
Sys.unsetenv(x)

但是害怕我在弄乱我不应该盲目弄乱的东西,并决定寻求指导。

因此,我想再次~表达意思C:\\Users\\trinker\\(这是我最后一台 PC 的默认设置),而不是C:\\Users\\trinker\\Documents现在。

4

3 回答 3

11

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

R_USER="C:/Users/trinker"

(如果该文件不存在,您可以自己创建它。)


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

Sys.setenv(R_USER = "C:/Users/trinker")

".Rprofile"在用户的主目录中查找,通过键入返回Sys.getenv("HOME")?Startup有关更多详细信息,请参阅R for Windows 常见问题解答

(感谢@Dason 指出该.Rprofile选项。)

于 2012-06-12T21:05:40.237 回答
0

另一种选择是更新用于启动新 R 会话的快捷方式中的“目标”字符串。为此,右键单击该图标,然后从上下文菜单中选择“属性”。选择对话框的“快捷方式”选项卡,并将以下名称/值对之一添加到该target字段。

R_USER="c:\my\favorite\folder"
R_USER="%USERPROFILE%"

现在path.expand("~")将扩展为c:\my\favorite\folderc:\users\my name\

一些笔记。

  • 这也将改变 R 查找用户文件的位置,例如.RprofileRconsole和用户包库。
  • 如果您已将 R 固定到任务栏,则需要右键单击任务栏图标以找到从任务栏启动 R 的快捷方式图标(如下图所示):

在此处输入图像描述

于 2016-04-18T21:55:28.227 回答
0

我们的系统管理员以这样一种方式设置系统,即 path.expand("~") 或 normalizePath("~") 始终指向映射驱动器 (\...)。在 path.expand("~") 指向的文件夹中创建一个“.Renviron”文件,内容如下解决了我的问题:)

R_USER="C:/Users/animeshs"
HOME="C:/Users/animeshs"

所以现在

path.expand("~")

[1] “C:/用户/动画”

于 2022-01-27T10:00:55.053 回答