博文

目前显示的是 八月, 2018的博文

RMarkdown中文报错的问题【解决】

今天学习RMarkdown(Win10笔电),结果因为里面有中文就报错了。我试了yaml的header有中文和正文有中文都会报错,搜索看到文件存放路径含中文也会报错。 解决 1)查询语言设置是否中文 Sys.getlocale() [1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936" 显然不是语言设置的问题 2)根据搜索到的结果,安装了rticles包(建议直接从github安装) 顺便:devtools使用代理需要设置: library(httr) set_config(   use_proxy(url="127.0.0.1", port=1080) #使用本机代理 ) 但是使用Ctex document模板在kniter渲染的时候还是报错了 3)根据Yihui Xie的建议,更新以下两个包到最新版本 devtools::install_github(c('rstudio/rmarkdown', 'yihui/tinytex')) tinytex::install_tinytex() 更新后重启R,用以下命令确认是否安装上tinytex tinytex:::is_tinytex() 然后就可以正确输出中文了。 *********************追加******************** rmarkdown::render('1.Rmd')  中文乱码问题 由于上述问题解决之后,kniter渲染html已经能正常显示中文,所以就是Rmd文件编码的问题。把Rmd文件另存为GB2312编码格式,就能正常显示中文了。 后来查到Yihui Xie说: 如果文件编码是 UTF-8,那么需要 rmarkdown::render('你的文件.Rmd', encoding = 'UTF...