首页 > 解决方案 > 如何使西里尔文数据集可识别?

问题描述

来自俄罗斯选举研究的一个数据集是用西里尔字母编写的,但 R 无法识别西里尔字母,而是显示一些奇怪的符号,如果我使用view(rusdata)并且我想以某种方式转换此数据集,即西里尔字母被 R 识别。

这是我已经尝试过的以及对我没有帮助的:

rusdata <-read.spss("RES 2007-2008.sav", to.data.frame = TRUE)

Sys.setlocale(locale = "Russian")
view(rusdata)
Sys.setlocale(,"ru_RU")
view(rusdata)
Sys.setlocale("LC_CTYPE", "russian")
encoding = "utf-8"
view(rusdata)
Sys.setlocale("LC_CTYPE", "ru_RU.UTF-8")
view(rusdata)

我真的很欢迎你的帮助!

标签: rviewdatasettransformcyrillic

解决方案


您可以使用不同的包来试试运气,例如haven::read_sav. 或者,我会stringi::stri_enc_detect先检测编码。我假设您可以从 spss 复制部分文本。这是一个例子:

a <- "Статья 1;Все люди рождаются"
stringi::stri_enc_detect(a)

然后我会使用返回的编码stri_enc_detect

rusdata <-read.spss("RES 2007-2008.sav", to.data.frame = TRUE, reencode = "encoding goes here")

推荐阅读