【问题标题】:Tilde "~" expression not functioning in "R"?波浪号“~”表达式在“R”中不起作用?
【发布时间】:2016-03-27 20:03:33
【问题描述】:

波浪号表达式在我的 RStudio 上不起作用!我正在使用 Windows 10 操作系统。

更新:仔细查看后(感谢 Dason)似乎“~”指向“user/Documents/”而不是“user/”。有什么解决办法吗?

有什么帮助吗?

【问题讨论】:

  • 你确定“~”指向你认为它指向的地方吗?
  • 当您可以发布实际代码/结果时,也永远不要发布图像。
  • 理想情况下它应该指向主目录,不是吗?好的,谢谢,下次我会记住这一点。
  • 亲爱的 Dason,是的,它实际上指向不同的文件夹,即“文档”文件夹。我该如何纠正呢?
  • 您没有显示一个使用~ 工作的电话。 setwd("~/") 是做什么的?然后getwd() 在那之后说了什么?你如何假设它指向user/Documents

标签: r tilde-expansion


【解决方案1】:

Windows R 中的主目录使用环境变量R_USER 设置,使用Windows 设置(从开始菜单搜索“环境变量”)。无论您将其设置为什么,都将成为 R 用于~ 的内容。我的设置为C:\Users\trehman\R

这是我的样子。

【讨论】:

  • 感谢 TARehman,看起来是一个很有前途的解决方案,尝试后会通知您。再次感谢您的时间 N 帮助。
  • 我将 [~] 添加到用户和系统环境中,值为 [C:/users/user/] 但仍然没有任何变化,您可以稍微详细说明一下。
  • @Mrinal9 看起来像我的吗?
  • 不,实际上我的环境变量中没有 R_user 变量。我已将 [~] 作为带有值的变量添加到我的主文件夹中。让我像你一样试试看。
  • 是的!现在它工作正常。再次感谢先生的慷慨帮助。
【解决方案2】:

正如您自己发现的那样,R 的~ 指向您的文档文件夹。解决此问题的一种简单方法是使用~/../ 开始您要引用的路径。所以你的setwd 电话看起来像这样:

setwd('~/../{your actual path from home}')

我的 Windows PC 上也出现了同样的问题。我手头没有一台 Linux 机器来测试那里是否相同。 R 从R_USER 环境变量中获取此变量。您可以在 R 环境启动文件中覆盖它。此问题并非特定于 RStudio,当您从命令行启动 R 会话时也会发生此问题。

【讨论】:

  • 感谢先生的帮助,但您能告诉我为什么它不起作用吗?或者它在任何Windows系统中都不起作用?
  • @Mrinal9,我添加了一些额外的信息。我希望它有所帮助。
  • 您能否在 R 环境启动文件中添加一些关于如何编辑和编辑内容的信息?谢谢,Mrinal。
【解决方案3】:

在启动时,R 在R_HOME 目录中查找Renviron.site。打开并编辑它

file.edit(file.path(Sys.getenv('R_HOME'), 'etc', 'Renviron.site'))

在该文件中定义R_USER,并使用您希望'~' 指向的路径:

R_USER = 'C:/Users/USERNAME'

参考资料: R for Enterprise: Understanding R’s Startup

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2012-06-20
    • 2019-04-09
    • 1970-01-01
    • 2012-06-22
    • 2010-10-30
    相关资源
    最近更新 更多