解决RStudio 每次第一句代码出现警告InormalizePath(path.expand(path), winslash, mustWork)[通俗易懂]

大家好,又见面了,我是你们的老朋友全栈君。

新学期开始,我报名了COMP226计算机在金融市场中的交易课程,使用了R语言。学习的第一天,我就安装了R和RStudio,启动RStudio后,立刻就遇到了警告信息。

警告信息如图所示:

完整的报错信息如下:

Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]="D:/OneDrive/??":文件名、目录名或卷标语法不正确

我的系统环境是Windows 10 21H2 64位,默认开启了OneDrive,R语言版本为4.1.2,RStudio版本为2021.09.2+382。

我个人猜测,报错的原因是R语言的Home目录默认设置在

C:/User/(Username)/Documents
,而R语言对安装路径的要求很严格,建议只使用字母和数字(或仅使用ASCII字符),避免使用特殊字符、中文汉字、空格等符号。这不仅是解决此类问题的关键,也是给文件夹命名的好习惯,特别是对很多国外的软件友好,可以避免各种奇怪的错误。其他常见错误原因还包括写入权限问题和使用云同步文件夹等。

请注意,我的方法仅适用于解决我遇到的这种错误,报错信息中带有

In normalizePath(path.expand(path), winslash, mustWork)
的错误可能有很多种。我的错误只是警告信息,不影响使用,可以正常输出,但我个人觉得看着很不舒服,所以我决定解决后就换用JetBrains DataSpell。

尝试过的解决方法(未成功):

  1. 切换Windows显示语言:最初我的笔记本显示语言为中文,我将其切换到英文,报错信息减少了很多,但问题依然存在。所以切记不要使用中文路径(切换语言并不是必须的,切换到非中文路径的文件夹即可)。

  2. 更换工作目录:点击

    Tools
    ,在
    General
    Basic
    中点击
    Default working directory
    ,然后点击
    Browse
    更改默认的工作目录,但这依然无效,因为这是工作目录,不是报错显示的目录。作为R语言初学者,我不知道如何准确描述报错的目录,但我会尝试更换。

  3. 来自贴吧的方法:第九楼建议点击

    Tools
    ,选择
    Global Option
    ,到
    Code
    中的
    Saving
    更改
    Line ending conversion
    Platform Native
    Default text encoding
    改为
    UTF-8
    ,但这依然无效(该设定特指RStudio)。

最终解决方法:

找到R语言的安装目录,进入

library->base->R
,使用记事本打开
Rprofile
,在其中加入以下语句:

Sys.setenv(R_USER="E:/R/")

示例目录仅为我测试目录,请根据自己的实际情况进行更换。我插入代码的位置为第119行,如下图所示:

保存后重启RStudio即可。

参考资料:

  • Customizing your package-library location
  • Managing R with .Rprofile, .Renviron, Rprofile.site, Renviron.site, rsession.conf, and repos.conf
  • Setting the home directory in Windows R [duplicate]

如果成功解决了您的问题,请记得告诉我,谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/6f8c673720168eb65f33ef15f9802a0b 原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c