在R Studio中的中文字符编码

3
我目前在R Studio中处理大量的中文医疗记录CSV文件,但是遇到了处理汉字字符的问题。特别地,我能够使用R Studio内置的数据查看器以表格形式"查看"(即查看整个数据集),但我无法在R Markdown的代码块输出中渲染它们--即无法“处理”或“交互”它们。
我已经尝试通过Sys.setlocale(category = "LC_CTYPE", locale = "chs")将系统区域设置为简体中文,通过read.csv('filepath/filename.csv', encoding = "UTF-8", stringsAsFactors = FALSE)使用UTF-8编码读取csv文件,并甚至更改了操作系统语言(Windows 10),但都没有成功。
非常感谢您对在R Studio中处理中文字符似乎需要“双重处理”的任何想法!
1个回答

1
今天我遇到了一个类似的问题 - 在包含一些中文字符的交互式图形的markdown文档中编织。在正常的R会话中,代码运行良好,但在编织markdown文档时,数据整理步骤导致<U+xxxx>,从而破坏了后续的绘图和编织。
 df %>%
    filter(str_detect(variable, "皖"))

对于我来说,在markdown文档中添加以下行可起作用:
``` Sys.setlocale(category = "LC_CTYPE", "Chinese (Simplified)_China.936") ``` 找到机器上所有可用的区域设置并不容易, 这是一个深入的兔子洞。至于为什么在R会话和编织时发生不同的事情,我怀疑这是由于脚本评估时的默认设置导致的,但这只是推测。
稍微挖掘一下这里可能发生的事情: `knitr::render`使用`%n%`通过使用原始函数`globalenv()`来获取一个新的?全局环境的网络属性。我们可以按照此建议查找R源代码中的`do_globalenv`函数。

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