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