R中的西里尔音译

Cyrillic transliteration in R

R 中是否有将西里尔文字音译为拉丁文的软件包?我需要将数据框转换为拉丁语才能使用因子。在R中使用西里尔因子有点乱

终于找到包裹了

> library(stringi)
> stri_trans_general("женщина", "cyrillic-latin")
[1] "ženŝina"

> stri_trans_general("женщина", "russian-latin/bgn")
[1] "zhenshchina"

之后,唯一剩下的就是“ё”字母了。

> stri_trans_general("Ёж", "russian-latin/bgn")
[1] "Yëzh"

> stri_trans_general("подъезд", "russian-latin/bgn")
[1] "podʺyezd"

> stri_trans_general("мальчик", "russian-latin/bgn")
[1] "malʹchik"

我不得不删除所有“ё”、“ʹ”和“ʺ”字符

> iconv(stri_trans_general("ёж", "russian-latin/bgn"),from="UTF8",to="ASCII",sub="")
[1] "yzh"

或者只删除前面的'Ё'和'ё'字母

> gsub('ё','e',gsub('Ё','E','Ёжики на ёлке'))
[1] "Eжики на eлке"

或音译后

可以像上面那样使用 stringi 包来完成,但使用不同的转换标识符,对于塞尔维亚拉丁语:

`stri_trans_general("жшчћђ", "Serbian-Latin/BGN")`

所有字符都应正确转换为塞尔维亚拉丁语。

如果之后使用 Base R 来过滤西里尔字母的数据,则得到所有 NA 的 ,但如果 使用 dplyr 那么一切都很好。