Rstudio版本1.0.136

R版本3.3.2

奇怪的是,当我使用Rmarkdown在.Rmd文件中逐行运行代码(它在代码中带有中文注释)时,控制台将显示警告,如下所示:

Warning message:
In strsplit(code, "\n", fixed = TRUE) :
   input string 1 is invalid in this locale

太烦人了,因为它会出现每一行。
我在RStudio的设置中更改了默认文本编码,但是UTF-8和BG2312都无法阻止此警告消息出现。
请注意,它只是在逐行运行代码时出现,如果我选择一个块并按下按钮以生成html,则不会出现警告。
我的代码如下:
```{r}
da=read.table("m-intcsp7309.txt",header=T)
head(da)
# date intel sp三列
length(da$date)
# 444数据
intc=log(da$intc+1)
# 测试
plot(cars)
# 测试警告信息
plot(cars)
# 为什么会出现警告?
plot(cars)
```

我已经测试它不是来自中文注释,只有我使用英语时才会遇到
现在。
这里是更多信息:
Sys.getlocale()
[1] "LC_COLLATE=Chinese (Simplified)_People's Republic of China.936;
     LC_CTYPE=Chinese (Simplified)_People's Republic of China.936;
     LC_MONETARY=Chinese (Simplified)_People's Republic of China.936;
     LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_People's Republic of China.936"

最佳答案

我对gsub()遇到了类似的问题,只需设置useBytes = TRUE即可解决此问题,而无需更改语言环境。在strsplit()中也应如此。从文档中:

07-24 09:45
查看更多