【问题标题】:Change path.expand location (Win 7)更改 path.expand 位置(Win 7)
【发布时间】:2012-06-15 19:11:56
【问题描述】:

目前:

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

【问题讨论】:

    标签: r


    【解决方案1】:

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

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

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

    一些笔记。

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

    【讨论】:

      【解决方案2】:

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

      R_USER="C:/Users/trinker"
      

      (如果文件还没有,您可以自己创建。)


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

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

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

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

      【讨论】:

      • @GSee -- 谢谢。我只是打错了,你和我一样抓住了它。
      • 把它放在 Renviron.site 会影响计算机上的所有用户,对吧?尽管我相当肯定 Tyler 是唯一在他的计算机上使用 R 的人,但这似乎仍然不够充分。向 .Rprofile 添加 Sys.setenv 调用会更好吗? Sys.setenv(R_USER = "C:/Users/trinker") 里面 .First 应该这样做。
      • @Dason -- 是的,如果您在一台计算机上有多个 R 用户,那么这是更好的解决方案。感谢您指出这一点。
      • 第一个选项对我不起作用,而 .Rprofile 起作用。我认为这是因为我使用了一个 .Rprofile,而 R 在搜索 Renviron.site 之前从我的 wd 中使用了它。 +1 达索娜和乔希。
      • @TylerRinker -- 或者至少是这样的。 ?Startup 表示Renviron.site 在任何.Rprofile 文件之前被读取(因此.Rprofile 中的设置可以覆盖Renviron.site 中的设置。无论如何,很高兴这对您有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-06
      • 2013-01-23
      相关资源
      最近更新 更多