如何更改R的语言环境?

时间:2013-05-02 21:06:27

标签: r locale

我在Ubuntu 12.10上使用R版本2.15.3(2013-03-01)。系统是德语,因此是R.在搜索错误消息时,这是不方便的。

以这种方式在xterm中执行R $ LANG="C" R部分解决了这个问题。然后R用英语显示所有内容。但是当以这种方式加载RStudio时,R解释器仍然是德语。所以我正在寻找一种方法来改变R本身的R语言环境。

我发现了这个:How to change language settings in R,但Sys.setenv(LANG = "en")对我不起作用:

2+x
# Fehler: Objekt 'x' nicht gefunden
Sys.setenv(LANG = "en")
2+x
# Fehler: Objekt 'x' nicht gefunden

我也试过Sys.setenv(LANG = "en_US.UTF-8")但没有成功。

Sys.getlocale()

的输出
Sys.getlocale()
# [1] "LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=de_DE.UTF-8;
# LC_COLLATE=de_DE.UTF-8;LC_MONETARY=de_DE.UTF-8;LC_MESSAGES=de_DE.UTF-8;
# LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=de_DE.UTF-8;
# LC_IDENTIFICATION=C"

(为方便起见添加了行制动器)

11 个答案:

答案 0 :(得分:32)

遇到了同样的问题,并找到了适用于Windows / Linux的解决方案:

Sys.setlocale("LC_ALL","English")

答案 1 :(得分:10)

Sys.setlocale("LC_MESSAGES", 'en_GB.UTF-8')
Sys.setenv(LANG = "en_US.UTF-8")

这2对我有用。 eclipse R中没有更多的抛光错误信息。虽然我认为只有第二个有效。感谢

编辑:虽然我每次重启R环境时都必须执行这些。

答案 2 :(得分:4)

尝试:

Sys.setlocale("LC_MESSAGES", 'en_GB.UTF-8')

摘自http://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Localization-of-messages,有关详细信息,请参阅。

答案 3 :(得分:4)

Ubuntu (14.04)中,这是适合我的解决方案:

编辑主目录中的.Renviron文件并添加以下行:

LANGUAGE="en_US.utf8"
# for R with British accent use en_GB.utf8

然后重启R.

答案 4 :(得分:3)

尝试Sys.setlocale("LC_TIME", "English")

答案 5 :(得分:2)

在我的情况下(OSX High Sierra + Ubuntu 14.04)我只能通过使用此命令将R输出语言切换为英语(立即生效而无需重新启动R会话):

Sys.setenv("LANGUAGE"="EN")

要永久更改语言,请将以上行添加到Rprofile.site文件(请参阅?Startup)或在您的主文件夹中创建/编辑文件.Renviron~/并输入LANGUAGE=en或类似的行(如法语LANGUAGE="fr_FR.utf8"和UTF-8编码,默认情况下在Linux中使用)。

答案 6 :(得分:2)

你只需要

  1. 打开终端
  2. 写入或粘贴:默认写入org.R-project.R force.LANG 的en_US.UTF-8
  3. 关闭终端并重新启动R
  4. 在OS X中它对我有用

答案 7 :(得分:1)

我认为这是你的Ubuntu的问题,而不是R.如果操作系统没有正确的语言环境设置“en”,则R无法使用它。查看操作系统区域设置。或者使用区域设置“C”而不是“en”可能仍然有效。

Sys.setenv(LANG='C')

答案 8 :(得分:1)

我遇到了同样的问题。我通过将Macbook的系统首选项 - >区域更改为US来解决了这个问题。然后,重新安装R.然后,系统语言最终改变了。

  

sessionInfo()

区域设置: [1] en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8

答案 9 :(得分:1)

如果您想临时执行此操作,可以尝试从命令行开始R,然后再设置内联语言:

# start R with LANGUAGE set to Mandarin
LANGUAGE=zh_CN.UTF-8 R --no-save
# do R stuff
q()
# any LANGUAGE set in your env will be unaffected afterwards
env | grep LANGUAGE

答案 10 :(得分:0)

令人惊讶的是,在这么多答案中,我没有看到自己更喜欢的答案。

echo 'LC_ALL=C' >> ~/.Renviron

这会将环境配置行添加(或创建,如果不存在)到.Renviron文件中,该行将专门用于此目的。

在此之后,任何启动的R进程都应该已经在.Renviron文件中指定了语言环境。