常需要使用R语言写报告,在切换了Windows电脑后,时常会发现一个报错如下:
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
input string 1 is invalid in this locale
该报错为:输入字符串1在此区域设置中无效;
但是并不影响报告的output;
分析下该问题:
报错原因:
RStudio 的缺陷,并且是windows环境下Rmd才有的
解决方法
- 换MAC;
- Rmd内容全部为english,不出现中文信息,特别注意的是:如果要处理多字节字符,永远不要用 C 作为你的系统区域语言设置(locale),即:不要用
Sys.setlocale('LC_ALL', 'C')
, 运行该语句不仅每次R启动运行都需要执行,并且文件中不能出现中文;
一旦运行过该行代码,导入包就开始报错如下:
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
input string 1 is invalid in this locale
�����̼�������dplyr��
The following objects are masked from ��package:plyr��:
arrange, count, desc, failwith, id, mutate, rename, summarise, summarize
The following objects are masked from ��package:stats��:
filter, lag
The following objects are masked from ��package:base��:
intersect, setdiff, setequal, union
�����̼�������gridExtra��
The following object is masked from ��package:dplyr��:
- 比较正常和标准的解决方法:
切换language setting :Sys.setlocale(category = "LC_ALL", locale = "Chinese")
;
运行后,会发现又回到了原来的问题,出现报错:
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
input string 1 is invalid in this locale
然后就是忍耐…orz…
(据说是提交给了大神,去修改源设置,具体情况未知…)
参考文档:https://mp.csdn.net/mdeditor?not_checkout=1#;
题外话
希望本文有大家有帮助, 如有错误,欢迎指正。
转载请注明原文链接:
https://blog.csdn.net/weixin_41613094/article/details/89244565;