Can';RStudio中带有罕见字符的t源代码
按照提供的解决方案,我正在尝试实现一个脚本来替换重音字符。从控制台执行代码可以正常工作,但是当我执行此代码时:Can';RStudio中带有罕见字符的t源代码,r,rstudio,R,Rstudio,按照提供的解决方案,我正在尝试实现一个脚本来替换重音字符。从控制台执行代码可以正常工作,但是当我执行此代码时: x <- list('ÿ'='y') x将我的评论转换为答案,因为我认为这将解决您的问题: 确保脚本以UTF-8编码。一, 与其使用基本上不起作用的源代码,不如使用 eval(parse('your/file.r', encoding = 'UTF-8')) 正如链接的答案所解释的,原因是source尝试(但失败)转换UTF-8编码字符,而parse不执行任何转换;相反,它
x <- list('ÿ'='y')
x将我的评论转换为答案,因为我认为这将解决您的问题:
- 确保脚本以
UTF-8
编码。一,
- 与其使用基本上不起作用的
源代码,不如使用
eval(parse('your/file.r', encoding = 'UTF-8'))
正如链接的答案所解释的,原因是source
尝试(但失败)转换UTF-8编码字符,而parse
不执行任何转换;相反,它从文件中逐字加载字符串,并简单地将其标记为UTF-8编码
不幸的是,如果RStudio的“source”按钮使用source
而不是上述内部解决方法,那么您必须手动执行此操作
1其他Unicode转换可能有意义,但据我所知,R根本不支持这些转换。我无法在RStudio 0.99.1266(预览版)上复制此问题。看起来UTF-8编码是在0.99.903中引入的(请参阅),因此您可能只需要更新RStudioThanks的版本以获得帮助。将RStudio更新为0.99.903确实解决了将编码设置为:ISO-8859-1时的问题。然而,对于普通的UTF-8编码,问题仍然存在。您是否尝试将编码设置为“UTF-8”以再现错误?同时,将编码设置为WINDOWS-1252也会产生此错误。非ASCII字符+R+WINDOWS==你会过得很不愉快。是的,看起来很像:-)。因为这是一个更大的列表中唯一的字符,它不是世界末日。无论如何,谢谢Kevin。尽管Kevin是对的,你通常应该将编码设置为UTF-8,而且几乎没有理由使用传统的编码,比如Windows foo/ISO bar。要在Windows上使用Unicode解决R错误,请使用。