我在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)
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)
在我的情况下(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"
令人惊讶的是,在这么多答案中,我没有看到我自己更喜欢的答案。
echo 'LC_ALL=C' >> ~/.Renviron
Run Code Online (Sandbox Code Playgroud)
这会将环境配置行附加(或创建,如果不存在)到.Renviron文件中,该文件正是用于此目的。
之后R启动的任何进程都应该已经在文件中指定了区域设置.Renviron。
在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)