R Studio无法正常处理中文字符。

7

似乎我在R Studio中使用中文字符时遇到了问题。像以下这样简单的代码:

data <- c("物品","方案")
data
# [1] "\347\211\251\345\223\201" "\346\226\271\346\241\210"

即使我运行,它仍然保持不变。
Sys.setlocale(category="LC_ALL",locale="chinese")*

这种情况在我的Windows笔记本和Mac电脑上都出现过。

有人能告诉我如何配置R Studio,以便正确读取中文数据吗?


"工具" > "全局选项..." > "常规" 下的 "默认文本编码" 是什么?" - user3710546
1
你能展示一下你的 sessionInfo() 吗?同时尝试一下 Sys.setlocale(category="LC_ALL",locale="US"),对我而言这个方法可行。 - dimitris_ps
我的默认文本编码是“UTF-8”。我尝试使用默认设置,但也没有起作用。 - Liu Qizhang
1
sessionInfo() 结果:R 版本 3.1.3 (2015-03-09) 平台: x86_64-apple-darwin10.8.0 (64 位元) 运行于:OS X 10.7.5 (Lion)语言环境: [1] C已附加的基本套件: [1] stats graphics grDevices utils datasets methods
[7] base 经由名称空间加载的套件(未附加): [1] tools_3.1.3我也尝试了 Sys.setlocale(category="LC_ALL",locale="US"),但仍无法解决问题。
- Liu Qizhang
在我的MacBook上没问题。> sessionInfo()R版本3.1.2(2014-10-31) 平台:x86_64-apple-darwin13.4.0(64位)语言环境: [1] zh_CN.UTF-8 / zh_CN.UTF-8 / zh_CN.UTF-8 / C / zh_CN.UTF-8 / zh_CN.UTF-8附加的基础包: [1] stats graphics grDevices utils datasets methods base通过名称空间加载(未连接): [1] tools_3.1.2 - Ven Yao
1个回答

2

在Shell R中运行

> print("中文")
[1] "中文"
> Sys.getlocale()
[1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8"

在RStudio中运行
> print("中文")
[1] "\344\270\255\346\226\207"
> Sys.getlocale()
[1] "C"

相比之下,您会发现RStudio中的区域设置环境未设置为支持UTF-8。

在RStudio运行时,不应更改区域设置环境,可以在.Rprofile中调用Sys.setlocale。(在OS X中可以。)

$ cat ~/.Rprofile
Sys.setlocale(category="LC_ALL", locale = "en_US.UTF-8")

您可以在 R 帮助中心的 ?Startup 和 RStudio 字符编码页面了解更多信息


1
R Studio现在已支持UTF-8编码。只需要使用UTF-8编码重新打开文件即可。 - Neveroldmilk

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