r - 在 R markdown 中批量创建文档

标签 r knitr r-markdown

我想知道是否有人可以帮助我解决我遇到的难题。

我有一个大约 300 个人的数据集,其中包含有关他们的一些基本信息(例如年龄、性别)。我想为每个人编制一个单独的 R Markdown 报告,以 Word 格式详细说明这些基本信息。然后我想用它们的唯一名称保存每个报告。

位于报告后面的实际代码不会改变,只会改变每个人的详细信息。例如:

报告 1:“Sally 是一名 34 岁的女性”。 (我想保存为 Sally.doc)

报告2:“迈克是一名21岁的男性。” (另存为 Mike.doc)

等等等等。

有没有一种方法可以做到这一点,而无需手动过滤数据,重新编织文档,然后使用唯一名称手动保存?

非常感谢!

最佳答案

使用 render 函数并将名称列表传递给函数:

renderMyDocument <- function(name) {
  rmarkdown::render("./printing_procedures/dagr_parent.Rmd",
                    params = list(names = name),

                    output_file = paste("~/document_", name, '.doc', sep = '')
  )
}

lapply(names, renderMyDocument)

然后只需确保您的 RMD 文件可以接受 params通过 YAML 的参数:
---
params:
  names:  
---    

此处有关参数化报告的 RStudio 文档:https://rmarkdown.rstudio.com/developer_parameterized_reports.html

关于r - 在 R markdown 中批量创建文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49301776/

相关文章:

返回 texreg() 对象

RMarkdown Octave 图

r - 基于字符向量进行子集化时,knit_expand 失败

linux - 无法在 R 中安装插入符包(在我的 Linux 机器中)

r - 使用 if 语句只允许正整数

r - 生成动态 R Markdown block

R:将 CrossTable (gmodels) 结果很好地格式化 (html) 到 Markdown 文档中的非繁琐方法

r - 绘图时 rmarkdown 出错

r - 更少确定是否按部署运行

r - 在 R 中拆分 CamelCase