如何更改R的语言环境?

Tob*_*ula 45 locale r

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

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

我发现了这个:如何更改R中的语言设置,但Sys.setenv(LANG = "en")对我不起作用:

2+x
# Fehler: Objekt 'x' nicht gefunden
Sys.setenv(LANG = "en")
2+x
# Fehler: Objekt 'x' nicht gefunden
Run Code Online (Sandbox Code Playgroud)

我也尝试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"
Run Code Online (Sandbox Code Playgroud)

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

And*_*ndi 37

刚遇到同样的问题,发现在Windows/Linux上适用于我的解决方案:

Sys.setlocale("LC_ALL","English")
Run Code Online (Sandbox Code Playgroud)

  • “警告消息:在 `Sys.setlocale("LC_ALL", "English")` 中:操作系统报告无法满足将区域设置设置为“English”的请求” (3认同)

wtk*_*wtk 11

Sys.setlocale("LC_MESSAGES", 'en_GB.UTF-8')
Sys.setenv(LANG = "en_US.UTF-8")
Run Code Online (Sandbox Code Playgroud)

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

编辑:虽然我每次重启R环境时都要执行这些操作.


Mic*_*ico 11

如果您想临时执行此操作,您可以尝试从命令行启动 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
Run Code Online (Sandbox Code Playgroud)


R Y*_*oda 7

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

Sys.setenv("LANGUAGE"="EN")
Run Code Online (Sandbox Code Playgroud)

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


jan*_*cki 7

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

echo 'LC_ALL=C' >> ~/.Renviron
Run Code Online (Sandbox Code Playgroud)

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

之后R启动的任何进程都应该已经在文件中指定了区域设置.Renviron


alb*_*rto 6

Ubuntu (14.04) 中,这是对我有用的解决方案:

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

LANGUAGE="en_US.utf8"
# for R with British accent use en_GB.utf8
Run Code Online (Sandbox Code Playgroud)

然后重启R。


小智 1

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

Sys.setenv(LANG='C')
Run Code Online (Sandbox Code Playgroud)