在 R 中使用西里尔字母

Working with Cyrillic in R

伙计们,一个简单的问题,真的让我很生气。 你如何使用西里尔字母?导入后如何准备 xlsx 或 csv 文件以便在 R 中正确读取? 我尝试了 Google 中的许多选项,以不同的格式保存,使用编码,在记事本中打开,输入 Sys.setlocale("LC_CTYPE", "ukrainian") - 对我来说没有用。

我用过

Sys.setlocale("LC_CTYPE", "ukrainian")

# Set working directory
setwd("C:~AO")

# Packages
library(xlsx)

# Read file
kyiv.dfrr <- read.xlsx2(file="Kyiv DFRR.xlsx", sheetIndex = 1, stringsAsFactors = FALSE)

kyiv.dfrr <- read.csv("Kyiv DFRR.csv", header = TRUE)

结果

                           Type Planned Planned...9.months.   Paid 
X..paid..planned..9.months. latitude
1                       ???????????  62,821              27,344 21,875                        
80.0 50.43494
2                       ???????????  40,000              20,000 12,000                        
60.0 50.45447
3                       ???????????  50,000              50,000 14,539                        
29.1 50.52310
4                      ????????????   9,490                 395      0                        
0.0 50.48074
5 ????????????????? (?????????????)   9,613               9,613  2,790                        
29.0 50.52318
6                     ?????????????   9,821               2,000      0                         
0.0 50.50171
longitude Kyiv.city.district                           MP
1  30.54683         ??????????   ????? ?????? ?????????????
2  30.50433     ??????????????  ???????? ???? ?????????????
3  30.45902        ??????????? ????????? ?????? ???????????
4  30.40263     ??????????????  ???????? ???? ?????????????
5  30.60095        ???????????     ?????? ???????? ????????
6  30.60764        ???????????     ?????? ???????? ????????

有简单优雅的解决方案,我还有希望!谢谢!

看来问题出在您的 R(Studio) 语言环境(请参阅下面的重现代码)。我会 1) 使用 readxl 来读取 XLSX 文件,2) 不要弄乱语言环境(我之前在读取 CSV 文件时遇到了同样的问题,而不是仅仅设置 encoding = "UTF-8" 更改了语言环境——它完全破坏了 RStudio 的输出——只有更新 RStudio 才有帮助)。所以我会尝试重新启动或重新安装 RStudio(特别是如果您可以同时更新它:)。

f <- "C:/Users/Alexey/Downloads/Kyiv DFRR.xlsx"

df <- readxl::read_excel(f)
Sys.setlocale("LC_CTYPE", "ukrainian")

head(df)
# A tibble: 6 x 10
                                                                                                                             Object
                                                                                                                              <chr>
1                                                                   "друга нитка Головного міського каналізаційного колектора \r\n"
2 "об'єкт по вул. Воровського, 2, - реставрація з пристосуванням під розміщення Державного спеціалізованого мистецького навчального
3 велика окружна дорога на ділянці від просп. Маршала Рокоссовського до вул. Богатирської з будівництвом транспортної розв'язки на 
4                                             "будівля бюджетної сфери - школа-дитячий садок N 173 \"Райдуга\" по вул. Блюхера, 3а"
5                                            будівля бюджетної сфери - дошкільний навчальний заклад N 300 по вул. Радунській, 22/9а
6                                                          стадіон із штучним покриттям по вул. Драйзера, 2б, у Деснянському районі
# ... with 9 more variables: Type <chr>, Planned <dbl>, `Planned ( 9 months)` <dbl>, Paid <dbl>, `% paid/ planned (9
#   months)` <dbl>, latitude <dbl>, longitude <dbl>, `Kyiv city district` <chr>, MP <chr>