80-R分享03-在Rmd中使用行内代码与参数化

2022-01-04 19:39:57 浏览数 (1)

前言

在[[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

0 人点赞