【发布时间】:2016-04-20 18:20:15
【问题描述】:
在加载 RStudio 时,我收到以下错误消息,我不明白:
Error: 3:35: unexpected symbol
3: Sys.setlocale(, "en_US.UTF-8")Sys.setlocale
^
在 knitr/LyX/R 出现一些编码问题后,我尝试使用找到的以下命令设置语言环境 here,我认为这是导致它的原因。
cat('
Sys.setlocale(, "en_US.UTF-8")
', file = '~/.Rprofile', append = TRUE)
我怎样才能将我的 Sys.setlocale 改回可用的东西?我试过Sys.setlocale(category = "LC_ALL", locale = "en_US.UTF-8"),但没有运气。我还在终端中尝试了以下建议here:defaults write org.R-project.R force.LANG en_US.UTF-8
我从 sessionInfo() 得到以下输出
> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.2 (El Capitan)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.2.2
【问题讨论】:
-
首先从
Sys.setlocale(, "en_US.UTF-8")Sys.setlocale中的.Rprofile中删除第二个Sys.setlocale(, "en_US.UTF-8")。并且不要再次运行cat命令。 -
我认为这只是在您的
.Rprofile中对Sys.setlocale的两次调用之间缺少一个分号(或换行符)。不过,您始终可以手动编辑它。这个错误实际上并没有搞砸你的系统locale变量。 -
@alistaire 无需多次调用
Sys.setlocale。 OP 运行了 2 次或更多cat命令,而只需要一次。 -
@Pascal 真。我猜我知道
cat(... append = TRUE)没有插入换行符。