R Notebook预览及.nb.html文件无输出问题求助
别着急,我帮你梳理几个大概率能解决问题的步骤,一个个试:
先确认代码真的跑起来了:你说运行了所有代码块,但得确保每个代码块都真的执行了——RStudio里运行过的代码块左边会有个小对勾,而且Notebook页面里应该能直接看到
plot(cars)的图。要是没看到,重新用Ctrl+Shift+Enter(Windows/Linux)或Cmd+Shift+Enter(Mac)跑一遍整个文档的代码。检查开头的YAML配置:打开你的
doc.Rmd,看看最顶部的YAML部分是不是正确。正常的R Notebook头部应该是这样的:
--- title: "你的笔记本标题" output: html_notebook ---
要是output项不是html_notebook,赶紧改成这个,因为预览功能是对应这个输出格式的。
清缓存重新来:有时候RStudio的缓存会搞事情,你可以先关闭当前的Notebook窗口,重新打开
doc.Rmd,再跑一遍所有代码,然后点击右上角的"Preview"按钮(或者用快捷键Ctrl+Shift+K/Cmd+Shift+K)。另外注意保存路径别带中文或者特殊符号,比如空格、感叹号这类,容易搞砸渲染。更新软件和包:旧版本的RStudio或者
rmarkdown包可能有bug。先把R更到最新版,再更新RStudio,然后在控制台跑install.packages("rmarkdown")更新包,之后再重试操作。手动渲染排查问题:要是预览还是不行,试试在控制台手动敲渲染命令:
rmarkdown::render("doc.Rmd", output_format = "html_notebook")
看看会不会弹出报错信息——比如缺某个包、代码有语法错误之类的,报错内容能直接帮你定位问题。
对了,还有个小坑要注意:如果你的代码块开头写了````{r eval=FALSE},这个代码块会被跳过不执行,自然没输出。检查下所有代码块的设置,把eval=FALSE去掉或者改成eval=TRUE`就行。
内容的提问来源于stack exchange,提问作者DAT

