Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中如何确定语言环境_R_Locale - Fatal编程技术网

在R中如何确定语言环境

在R中如何确定语言环境,r,locale,R,Locale,在日语中, 我将env:LANGUAGE设置为“en_US”,以英文显示错误消息。 这对我来说很好 > Sys.setenv(LANGUAGE = "en_US") > Sys. Error: object 'Sys.' not found 但是当我在改变语言之前把locale:LC_ALL改成'en_US.UTF-8'时, 错误消息未更改,并以默认语言环境显示 > Sys.setlocale(category = "LC_ALL", locale = "en_US.UTF-

在日语中, 我将env:LANGUAGE设置为“en_US”,以英文显示错误消息。 这对我来说很好

> Sys.setenv(LANGUAGE = "en_US")
> Sys.
Error: object 'Sys.' not found
但是当我在改变语言之前把locale:LC_ALL改成'en_US.UTF-8'时, 错误消息未更改,并以默认语言环境显示

> Sys.setlocale(category = "LC_ALL", locale = "en_US.UTF-8")
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=ja_JP.UTF-8;LC_PAPER=ja_JP.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=ja_JP.UTF-8;LC_IDENTIFICATION=C"
> Sys.
 エラー:  オブジェクト 'Sys.' がありません 
> Sys.setenv(LANGUAGE = "en_US")
> Sys.
 エラー:  オブジェクト 'Sys.' がありません 
我认为这是因为LC_的优先级高于语言 还有一些副作用,但这是错误的。 当我在语言后更改LC_ALL时,错误消息以英语显示

> Sys.setenv(LANGUAGE = "en_US")
> Sys.
Error: object 'Sys.' not found
> Sys.setlocale(category = "LC_ALL", locale = "en_US.UTF-8")
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=ja_JP.UTF-8;LC_PAPER=ja_JP.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=ja_JP.UTF-8;LC_IDENTIFICATION=C"
> Sys.
Error: object 'Sys.' not found
为什么使用LC_所有块语言来更改错误消息区域设置

为什么更改LC_ALL和语言的顺序会导致不同的结果

默认环境:

> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.4 LTS

Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0

locale:
 [1] LC_CTYPE=ja_JP.UTF-8       LC_NUMERIC=C               LC_TIME=ja_JP.UTF-8       
 [4] LC_COLLATE=ja_JP.UTF-8     LC_MONETARY=ja_JP.UTF-8    LC_MESSAGES=ja_JP.UTF-8   
 [7] LC_PAPER=ja_JP.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=ja_JP.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.4.4 tools_3.4.4   


> RStudio.Version()$version
[1] ‘1.1.447’

我不知道你想达到什么目的。但是,您应该知道,如帮助文件中所述:

请注意,设置类别“LC\U ALL”只设置类别“LC\U COLLATE”, “信用证类型”、“信用证货币”和“信用证时间”

因此,
LC\u ALL
不会设置
LC\u消息
,正如上面的输出所示

后来:

请注意,语言环境变量的优先级高于 选择信息翻译语言时的“LC_信息”on 大多数R平台

了解更多信息:
?Sys.setlocale()