我正在使用knitr从Rmd创建一个markdown文件,我在.Rmd脚本的顶部设置了以下选项来隐藏所有结果和图:
```{r, echo=FALSE}
opts_chunk$set(results="hide", fig.show="hide")
```
Run Code Online (Sandbox Code Playgroud)
当我点击RStudio中的Knit HTML按钮时,这是有效的 - 我得到没有结果和数字的输出.但是,如果我从命令行运行:
Rscript -e 'knitr::knit("myfile.Rmd")'
Run Code Online (Sandbox Code Playgroud)
它似乎opts_chunk$set()没有读取行,我在.md输出中得到结果和图.我通过在Rscript命令中指定这些选项来解决这个问题:
Rscript -e 'library(knitr); opts_chunk$set(results="hide", fig.show="hide"); knit("myfile.Rmd")'
Run Code Online (Sandbox Code Playgroud)
但我宁愿保留从我正在使用的文件中读取的所有选项,而不是在命令行中指定.knit在命令行中使用Rscript 时如何获取.Rmd文件中读取的选项?
谢谢.
Ben*_*ker 10
我想你需要补充一下
library("knitr")
Run Code Online (Sandbox Code Playgroud)
到块(您可能希望message=FALSE在该块的块选项中设置).
问题是,当你这样做
Rscript -e 'knitr::knit("myfile.Rmd")'
Run Code Online (Sandbox Code Playgroud)
你实际上没有附加knitr包,这意味着它不在函数的搜索路径中,这意味着R无法找到该opts_chunk对象.
knitr::opts_chunk也可能有用......Rscript -e 'library("knitr"); knit("myfile.Rmd")'当您单击RStudio中的按钮时,RStudio会自动加载knitr它运行的环境knit().