我正在处理来自所有可能的欧洲语言的数据。 R 无法正确识别特殊字符,例如“ć”而不是“c”。
> "ć"
[1] "c"
我已经多次遇到过这种情况并找到了解决方法(read.csv,其他函数有选项编码
),但这并不能解决我的问题,但是如上所述。我进一步尝试了
> a <- "ć"
> Encoding(a)
[1] "unknown"
并将编码
的选项
设置为“UTF-8”,但没有成功。有没有办法告诉 R 在实际分配字符之前从控制台读取什么编码?
最佳答案
这是由于您设置的语言环境中该字符不可用。您可以将区域设置更改为具有该字符的区域设置,但这可能会影响其他字符,并且如果您随后更改区域设置,则该字符可能会以不同的方式解释,因此买者自负。
Sys.setlocale("LC_CTYPE","Polish")
[1] "Polish_Poland.1250"
"ć"
[1] "ć"
处理此字符的更可靠方法是使用其 unicode 表示形式。显然,您必须预处理数据才能更改它。
"\u0107"
[1] "ć"
关于r - 编码问题: how to let console print "ć" instead of "c"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45416426/