更改R中的区域设置重置失败

时间:2014-05-11 16:49:00

标签: r macos

OS X 10.9.2 + R 3.0.2和R 3.1.0

我已使用

在R 中设置区域设置
Sys.setlocale(category = "LC_TIME", locale = "C") 

因为我想在我的情节中找到英文平日名字。 (LC_TIME语言环境是" de_DE.UTF-8") 这很有效,但变化已成为永久性的。重新启动R给出:

During startup - Warning messages:
1: Setting LC_CTYPE failed, using "C"
..
5: Setting LC_MONETARY failed, using "C" 

我尝试使用以下命令重置区域设置:

Sys.setlocale(category = "LC_TIME", locale = "")
Sys.setlocale(category = "LC_ALL", locale = "")

在这两种情况下我都收到了警告:

..
OS reports request to set locale to "" cannot be honored

我也重新安装了R (结合从R 3.0.2到R 3.1.0的升级 没有改变。可能是区域设置存储在点文件中,在升级时保留,但我无法找到位置。

因此,如果没有人知道工作重置命令,那么存储区域设置的文件就足够了。

2 个答案:

答案 0 :(得分:1)

使用

执行语言设置
system("defaults write org.R-project.R force.LANG de_DE.UTF-8")

system("defaults write org.R-project.R force.LANG en_US.UTF-8")

再加上我的计算机上的固定R重启。 (我测试了两种设置。)

  • R现在开始没有错误
  • 设置是永久性的。即我可以退出并重启R和设置"幸存"。
  • Sys.setlocale(..)命令暂时设置区域设置
  • 使用Sys.setlocale(..,locale ="")重置现在可以正常工作!

有关强制执行语言设置的信息,请参阅 R -- Help -- R for Mac OS X FAQ -- 7 Internationalization of the R.app: 如果您使用非标准设置..您可以覆盖自动检测...

不清楚是否真的是Sys.setlocale()命令损坏了我的系统,或者这是我后来做的事情。并且不清楚是否有办法将系统重置为原始状态。在我看来,这比执行语言设置更自然。

答案 1 :(得分:0)

OP承诺会发布一个更完整的答案,但应该注意它是在R-for-MAC-FAQ

 7 Internationalization of the R.app