无法在RStudio中使用稀有字符来获取skript

时间:2016-07-29 21:35:20

标签: r rstudio

根据提供的解决方案here我尝试实现替换重音字符的脚本。从控制台执行我的代码工作正常,但是当我执行此代码时:

x <- list('ÿ'='y')
来自RStudio脚本的

R返回以下错误:

  

来源(&#39;〜/ R / DrivingDataAnalysis / R / WebScraper / VoltstatsScraper.R&#39;,encoding =&#39; UTF-8&#39;)   源中出错(&#34;〜/ TestScript.R&#34;,:     〜/ TestScript.R:1:6:意外的INCOMPLETE_STRING   1:列表(&#39;            ^

对于链接中的其他重音字符,R解析脚本。如何在脚本中完成这项工作?我在Windows 7上使用R 3.3.1和RStudio 0.99.896。

1 个答案:

答案 0 :(得分:1)

将我的评论转换为答案,因为我认为它会解决您的问题:

  • 确保您的脚本已在UTF-8中进行编码。 Everything else is madness. 1
  • 使用

    而不是使用基本不起作用的source
    eval(parse('your/file.r', encoding = 'UTF-8'))
    

    This works as a substitute for source.正如链接的答案所解释的那样,原因是source尝试(并且失败)转换UTF-8编码的字符,而parse不执行任何转换;相反,它从文件中逐字加载字符串,只是将其标记为UTF-8编码。

不幸的是,您必须手动执行此操作,假设RStudio的“源”按钮使用source而不是内部的上述解决方法。

1 其他Unicode转换可能有意义但据我所知 - 完全不受R支持。