如何正确设置R.HOME()和/或R_HOME?
我在如何正确设置R.HOME()和/或R_HOME?,r,windows,R,Windows,我在C:\R\R-3.3.0中安装了我的R。但是: > R.home() [1] "C:/R/R-33~1.0" > Sys.getenv("R_HOME") [1] "C:/R/R-33~1.0" 我认为两者都应该是“C:/R/R-3.3.0”,因为我在使用调试器时遇到了很多麻烦:它就是找不到库 由于我在Windows上,我在文档中读到了这一点,但它没有帮助: 在Windows上,R.home()和R_home的值切换为8.3 路径元素的缩写形式(如果需要并且Windows服务
C:\R\R-3.3.0
中安装了我的R。但是:
> R.home()
[1] "C:/R/R-33~1.0"
> Sys.getenv("R_HOME")
[1] "C:/R/R-33~1.0"
我认为两者都应该是“C:/R/R-3.3.0”
,因为我在使用调试器时遇到了很多麻烦:它就是找不到库
由于我在Windows上,我在文档中读到了这一点,但它没有帮助:
在Windows上,R.home()和R_home的值切换为8.3
路径元素的缩写形式(如果需要并且Windows服务
这样做是启用的。R_HOME的值设置为使用正斜杠
(因为许多包维护人员将它无引号地传递给shell,例如
“Makefile”中的示例)
非常感谢您的帮助,因为我对环境变量的了解很少。多亏了@Morgan,我找到了答案:
“短名称”实际上是旧的DOS 8.3命名约定,因此所有目录都是前6个字母,后跟~1,假设只有一个名称与之匹配Maybe
Sys.setenv()
?我也想过-但我不想把事情搞得更糟…我想dir c:/R/x
显示了R-3.3.0目录的简称,它是R-33~1.0?也许这有助于说明您在使用“调试器”时遇到的问题?@MartinMorgan:您是对的:dir(“C:/R/R-33~1.0”)
显示了“C:/R/R-3.3.0”的内容!所以这是正常的,而不是一个错误?下面描述了我的调试器的问题。你认为我应该删除这个问题吗?@Christoph你说“调试不起作用”,但不清楚这是什么意思?您的意思是调用函数但不进入调试器?可能另一个函数屏蔽了您期望的函数,在R提示符下函数
与包::函数
不同。