r - 在 RStudio 控制台中显示西里尔文

标签 r encoding locale rstudio

我在 Rstudio 控制台中显示俄语字符时遇到问题。我使用 readxl 包加载带有俄语的 Excel 文件。西里尔文在数据框中正确显示。但是,如果我运行的函数的输出包含变量名称,则 RStudio 控制台将显示符号而不是正确的西里尔字符。

test.xlsx 包含两列 - зависимая переменная(因变量 - 数字)和 независимая переменная(自变量,因子)。

зависимая_переменная    независимая_переменная
5   а
6   б
8   в
8   а
7.5 б
6   в
5   а
4   б
3   в
2   а
5   б

我的代码:
Sys.setlocale(locale = "Russian")
install.packages("readxl")
require(readxl)
basetable <- readxl::read_excel('test.xlsx',sheet = 1)
View(basetable)
basetable$независимая_переменная <- as.factor(basetable$независимая_переменная)

str(basetable)

这是我从 str 函数的输出中得到的:
 Classes ‘tbl_df’, ‘tbl’ and 'data.frame':  11 obs. of  2 variables:
 $ çàâèñèìàÿ_ïåðåìåííàÿ  : num  5 6 8 8 7.5 6 5 4 3 2 ...
 $ íåçàâèñèìàÿ_ïåðåìåííàÿ: Factor w/ 3 levels "а","б","в": 1 2 3 1 2 3 1 2 3 1 ...

我想用俄语正确显示变量名称,因为我将根据这些数据构建许多模型。作为引用,这是我的 sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=Russian_Russia.1251  LC_CTYPE=Russian_Russia.1251   
[3] LC_MONETARY=Russian_Russia.1251 LC_NUMERIC=C                   
[5] LC_TIME=Russian_Russia.1251    
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
other attached packages:
[1] readxl_0.1.1 shiny_0.13.1 dplyr_0.4.3 
loaded via a namespace (and not attached):
 [1] Rcpp_0.12.2      digest_0.6.9     assertthat_0.1   mime_0.4        
 [5] chron_2.3-47     R6_2.1.2         xtable_1.8-2     jsonlite_0.9.19 
 [9] DBI_0.3.1        magrittr_1.5     lazyeval_0.1.10  data.table_1.9.6
 [13] tools_3.2.3      httpuv_1.3.3     parallel_3.2.3     htmltools_0.3        

最佳答案

尝试将数据帧列名编码更改为 UTF-8。

Encoding(colnames(YOURDATAFRAME)) <- "UTF-8"

关于r - 在 RStudio 控制台中显示西里尔文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357425/

相关文章:

java - 使用 doc4j 创建的 PDF 无法正确呈现语言环境文本

spring - 如何在运行时更改 Locale.setDefault(new Locale ("en", "US"))?

c# - 使用 C# 以编程方式更改系统默认语言

html - R shiny - 使用 titlePanel 在浏览器窗口中添加 Logo

r - 使用带有主动绑定(bind)的引用类时,求值嵌套太深

python - pandas 中的字符串打印不正确

java - 编码困难

R data.table 条件聚合

r - `print` 函数在 `ifelse`

c# - 工具提示编码问题