为什么Mac中的R&Studio无法导入中文内容的RData(win10创建)

Why R & Studio in Mac cannot import RData with Chinese content (created in win10)

这个问题我已经追了一整天了

我通过以下方式下载了教科书的练习材料:http://www.crup.com.cn/UploadFiles/jxkj/gsgl/243184/统计学基于R第二版例题和习题数据.rar

但是,这些RData在win10的R&Rstudio中运行良好,而在Mac

中无法显示汉字

win10中的Rstudio:

Rstudio 在Mac

汉字崩溃

Mac

中的 R 控制台

汉字崩溃

我在网站上搜索了很多解决方案,其中大部分是关于如何解决导入“.csv”文档时出现的问题。但我的问题是关于如何将 RData 加载到 R 中而不会导致汉字崩溃。

有的回答说要把Rstudio的"Global options"中的"default text encoding"改成"UTF-8",但是我查了Mac和Win10中的Rstudio,都是处于 "UTF-8" 模式。

所以我真的不知道真正的问题是什么。

也许有更好的全球通用解决方案,但一种方法是分别为每个对象转换编码:

load("~/Downloads/exercise1_1.RData")
exercise1_1[, 1:3]
#                    ָ\xb1\xea X2008\xc4\xea X2009\xc4\xea
# 1    \xb5\xcd\xca\xd5\xc8뻧          1500          1549
# 2      \xd6е\xc8ƫ\xcf»\xa7          2935          3110
# 3  \xd6е\xc8\xca\xd5\xc8뻧          4203          4502
# 4 \xd6е\xc8ƫ\xc9\u03fb\xa7          5929          6468
# 5    \xb8\xdf\xca\xd5\xc8뻧         11290         12319

names(exercise1_1) <- iconv(names(exercise1_1), from = "GB2312", to = "UTF-8")
exercise1_1 <- lapply(exercise1_1, function(x) if(is.factor(x)) as.character(x) else x)
exercise1_1 <- data.frame(lapply(exercise1_1, function(x) {
  if(is.character(x)) 
    iconv(x, from = "GB2312", to = "UTF-8")
  else 
    x
  }
))

exercise1_1[, 1:3]
#         指标 X2008年 X2009年
# 1   低收入户    1500    1549
# 2 中等偏下户    2935    3110
# 3 中等收入户    4203    4502
# 4 中等偏上户    5929    6468
# 5   高收入户   11290   12319