这与How to source R Markdown file like `source('myfile.r')`?类似,但有以下区别:我希望我的降价文件生成一个R脚本以供将来采购。上一个问题对直接采购markdown文件感兴趣(此时这似乎不容易)。
通过包含以下内容,可以编译生成可用源R文件的.Rmd markdown文件:
```{r, ignore = TRUE, include = FALSE}
knit('markdown_file.Rmd', 'source_file.R', tangle = T)
```
这会创建一个source_file.R完全正常但它最后包含knit
调用。因此,当我source("source_file.R)
在不同的脚本中时,它会重新创建并覆盖自己,这看起来很糟糕。有没有告诉knit
忽略.Rmd文件中的一大块代码?
答案 0 :(得分:1)
我使用bash脚本解决了这个问题,并完全从R脚本中删除了该编织片段。
Rscript -e 'knitr::knit("markdown_file.Rmd", "source_file.R", tangle = T)'
所以使用这种方法,我可以使用类似的bash脚本将我的.Rmd编织成所需的文档输出(如pdf,代码未显示),然后这行代码创建一个R文件,可以使用来源其他R脚本。实际上,我无需在Rmd文件中(或在RStudio中)调用knit
。