在R中波浪线"~"表达式不起作用?

6

我的RStudio上波浪符表达式无法使用!我正在使用Windows 10操作系统。

更新:经过认真查看(感谢Dason),似乎“~”指向的是“user/Documents/”,而不是“user/”。有什么解决方法吗?

Image

有人能提供帮助吗?


3
你确定 "~" 指的是你认为的位置吗? - Dason
5
尽可能不要发布图片,最好直接发布代码或结果。 - Dason
理想情况下,它应该指向主目录,不是吗? 好的,谢谢,我会记住的。 - data9
亲爱的Dason,是的,它实际上指向了一个不同的文件夹,而不是“文档”文件夹。我该如何纠正这个问题? - data9
你好,spacedman,实际上我发现 'setwd("/")' 能够正常工作,而 'getwd()' 显示文档文件夹的路径。这就是我知道 '' 的实际意义的方式。 - data9
显示剩余2条评论
3个回答

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

enter image description here


1
谢谢TARehman,看起来是个很有前途的解决方案,试用后会告诉你结果。再次感谢你的时间和帮助。 - data9
我已经将值为[C:/users/user/]的[~]添加到用户和系统环境中,但仍然没有变化。您能否详细指导一下? - data9
@Mrinal9 它看起来像我的吗? - TARehman
实际上,我的环境变量中没有R_user变量。我已经将[~]作为一个带有值的变量添加到我的主文件夹中。让我尝试像你那样并查看结果。 - data9
是的!现在它正常工作了。再次感谢您慷慨的帮助,先生。 - data9

2

正如你自己发现的那样,R中的~指向你的文档文件夹。一个简单的解决方法是以~/../开头引用你想要引用的路径。因此,你的setwd调用将如下所示:

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

我在Windows电脑上也遇到了同样的问题。我手头没有Linux机器来测试是否存在相同的问题。R从R_USER环境变量中获取这个变量。您可以在R环境启动文件中覆盖它。这个问题不仅限于RStudio,当您从命令行启动R会话时也会出现。


谢谢您的帮助,先生。但是,您能告诉我为什么它不起作用吗?或者它在任何Windows系统中都无法工作? - data9
@Mrinal9,我添加了一些额外的信息。希望它有所帮助。 - Patrick Kostjens
你能否在R环境启动文件中添加一些编辑信息和说明如何进行编辑? 谢谢, Mrinal。 - data9

0

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

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

在该文件中定义R_USER,并将其指向您想要'~'指向的路径:

R_USER = 'C:/Users/USERNAME'

参考资料: 企业级R:了解R的启动过程


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接