You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

data munging场景下,能否执行.Rmd文件且不生成报告或.md文件?

解决方案:执行.Rmd文件但不生成输出文件

当然有办法实现啦!你可以通过给knitr::knit()设置特定参数,让它只执行.Rmd里的代码,完全不生成任何报告或.md文件,刚好适配你的Makefile场景。

最简洁的方法

直接在命令里给knitr::knit()添加output = NULL参数:

Rscript -e "knitr::knit('file.Rmd', output = NULL)"

这个命令会逐块执行.Rmd文件里的所有R代码,就像你运行普通R脚本一样,但不会生成任何输出文件——完美匹配你的需求!

另一种可选方法(适合需要临时脚本的场景)

如果你想先把.Rmd里的代码提取成独立的R脚本再执行,之后自动删除临时脚本,可以用下面的命令:

Rscript -e "temp_script <- knitr::purl('file.Rmd', output = tempfile()); source(temp_script); file.remove(temp_script)"

不过这种方法会生成一个临时文件(执行后自动删除),相比第一种方法稍显繁琐,一般推荐第一种就足够了。

补充说明

  • knitr::knit(output = NULL)会跳过输出文件的写入步骤,只专注于执行代码块
  • knitr::purl()的作用是提取.Rmd中的所有R代码到脚本文件,配合临时文件和自动删除,也能达到“执行代码但不留输出”的效果

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:59:55