Cha*_*ase 93
您可以使用该Sys.setenv()功能进行设置.我的R会话默认为英语,所以我将其设置为法语然后再返回:
> Sys.setenv(LANG = "fr")
> 2 + x
Erreur : objet 'x' introuvable
> Sys.setenv(LANG = "en")
> 2 + x
Error: object 'x' not found
Run Code Online (Sandbox Code Playgroud)
可以在此处找到缩写列表.
Sys.getenv() 为您提供所有已设置的环境变量的列表.
Ale*_*son 23
在RStudio for Windows的情况下,我成功地按照R for Windows FAQ中的说明更改了语言,特别是我写道:
language = EN
Run Code Online (Sandbox Code Playgroud)
在文件内部Rconsole(在我的安装中C:\Program Files\R\R-2.15.2\etc\Rconsole); 这也适用于命令Rscript.
例如,您可以Rconsole从命令提示符处使用以下两个命令找到该文件:
cd \
dir Rconsole /s
第一个将根作为当前目录,第二个查找Rconsole文件.
在下面的屏幕截图中,您将该Rconsole文件放在该文件夹中C:\Program Files\R\R-3.4.1\etc.
您可能有多个位置,在这种情况下,您可以编辑所有Rconsole文件.
之后,您可以Rconsole使用您喜欢的编辑器打开文件并查找该行language =,然后EN在该行的末尾追加.
在下面的屏幕截图中,有趣的行是数字70,你必须EN在它的末尾附加.

小智 20
对于mac用户,我在R for Mac FAQ上找到了这个
如果您使用非标准设置(例如,不同于格式的语言),您可以通过设置`force.LANG'默认设置来覆盖执行的自动检测,例如
Run Code Online (Sandbox Code Playgroud)defaults write org.R-project.R force.LANG en_US.UTF-8当在终端中运行时,无论系统设置如何,它都将强制执行美国英语设置.如果您不知道什么是终端,则可以使用此R命令:
Run Code Online (Sandbox Code Playgroud)system("defaults write org.R-project.R force.LANG en_US.UTF-8")但不要忘记退出R然后再次启动R.app.请注意,您必须始终使用语言环境的`.UTF-8'版本,否则R.app将无法正常工作.
这有助于我将控制台语言从中文更改为英文.
Bil*_*low 13
这可以从命令行工作:
$ export LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
以上其他答案都不适合我
小智 8
为了使其永久有效,在 R 和 Rstudio(使用 Win 10)中,一种方法是最初每次在后台自动运行脚本。
不再需要更改影响 Windows 的系统语言。不再只使用 R,但在 Rstudio 中失败。不再需要每次都手动运行脚本。不再有管理员权限但失败。不再设置快捷方式却失败。
步骤 1. 使用系统搜索找到名为“Rprofile”的文件
我的回应是
C:\Program Files\R\R-4.0.5\library\base\R
C:\Program Files\R\R-4.0.5\etc
步骤 2. 编辑 C:\Program Files\R\R-4.0.5\library\base\R\Rprofile
内容:
步骤 3. 在脚本末尾添加 Sys.setenv(LANGUAGE="en")
local({
Sys.setenv(LANGUAGE="en")
})
Run Code Online (Sandbox Code Playgroud)
PS 如果您遇到授权/保存问题,请将此文件移动到桌面并编辑后替换原始文件。
您可能还需要知道的区别,例如,Sys.setenv(LANG = "ru")和Sys.setlocale(locale = "ru_RU.utf8")。
> Sys.setlocale(locale = "ru_RU.utf8")
[1] "LC_CTYPE=ru_RU.utf8;LC_NUMERIC=C;LC_TIME=ru_RU.utf8;LC_COLLATE=ru_RU.utf8;LC_MONETARY=ru_RU.utf8;LC_MESSAGES=en_IE.utf8;LC_PAPER=en_IE.utf8;LC_NAME=en_IE.utf8;LC_ADDRESS=en_IE.utf8;LC_TELEPHONE=en_IE.utf8;LC_MEASUREMENT=en_IE.utf8;LC_IDENTIFICATION=en_IE.utf8"
Run Code Online (Sandbox Code Playgroud)
如果您有兴趣更改引用这些元素之一的函数的行为(例如strptime提取日期),则应使用Sys.setlocale(). 有关?Sys.setlocale更多详细信息,请参阅。要查看 linux 系统上所有可用的语言,您可以运行
system("locale -a", intern = TRUE)
Run Code Online (Sandbox Code Playgroud)
小智 5
首先输入: system("defaults write org.R-project.R force.LANG en_US.UTF-8") 然后你会得到一个索引号(在我的例子中是 127)
然后输入: Sys.setenv(LANG = "en") 然后输入数字并输入 127
对我来说工作:
Sys.setlocale("LC_MESSAGES", "en_US.utf8")
Run Code Online (Sandbox Code Playgroud)
测试:
> Sys.setlocale("LC_MESSAGES", "en_US.utf8")
[1] "en_US.utf8"
> x[3]
Error: object 'x' not found
Run Code Online (Sandbox Code Playgroud)
还致力于获取英文消息:
Sys.setlocale("LC_MESSAGES", "C")
Run Code Online (Sandbox Code Playgroud)
重置为我使用的德语消息
Sys.setlocale("LC_MESSAGES", "de_DE.utf8")
Run Code Online (Sandbox Code Playgroud)
这是我的开始sessionInfo:
> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.2 LTS
Run Code Online (Sandbox Code Playgroud)