前言
在[[70-R茶话会15-你的编程菜鸟路上缺失的一课]] 和[[04-可重复工作执行简明指南(中)]] 我们都提过,Rmd 的参数化功能非常的实用。
这里还结合Rmd 的文中使用代码的功能,来聊聊如何自动化执行脚本。
参数化
在[[71-R分享01-Rmd新手入门指南]] 中我们提过Rmd 的头文件配置。
我们也可以在头部部分通过params
参数设置变量。
比如下面:
代码语言:javascript复制params:
group1: Stimulated
group2: Ctrl
s:
sd
sd
这个过程就相当于在R 中创建了一个名为params 的列表对象,其包含三个向量对象:
代码语言:javascript复制> params$group1
[1] "Stimulated"
当然你也可以在代码块通过列表赋值创建,只是没有yaml 头部定义使用的方便。
md行内代码
Rmd 比起普通的md 文件,除了可以通过代码块直接运行R 代码外,还可以通过行内代码调用变量,实现更加方便的自动化管理。
比如上例中yaml 头部创建的变量对象,就可以通过行内代码调用:
显示在输出结果中,就会输出group1,2 对应的值:
通过这样的参数化方法,我们可以直接对文档进行一次修改,甚至外部传递参数,实现更好的自动化处理。
参考资料
[1]R Markdown 入门教程 | 统计之都 (cosx.org): https://cosx.org/2021/04/rmarkdown-introduction/
[2]12 Lesson 7: Parameterized Reports | R Markdown Crash Course (zsmith27.github.io): https://zsmith27.github.io/rmarkdown_crash-course/lesson-7-parameterized-reports.html