【问题标题】:How to make Cyrillic datasets recognizable?如何使西里尔文数据集可识别?
【发布时间】:2020-08-13 11:18:15
【问题描述】:

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

非常欢迎您的帮助!

【问题讨论】:

  • 编码问题令人讨厌。在其中一列上尝试rvest::guess_encoding
  • 我以前用 R 来处理俄语文本,它得到了普遍支持。但是,您有时会遇到显示这些符号的问题。如果您使用旧版本的 RStudio,则尤其如此。不过,基础数据通常很好。因此,尝试将数据写入磁盘并检查通过 R 后它是否真的损坏了,或者它是否正常,在这种情况下,您可以使用数据,只需要一种不同的方式来显示它。通常情况下它实际上很好。
  • 感谢您的帮助!我试试看。

标签: r view dataset transform cyrillic


【解决方案1】:

您可以尝试使用其他套餐,例如 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")

【讨论】:

  • 感谢您的回复!我试试看!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
  • 1970-01-01
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
相关资源
最近更新 更多