批量创建R markdown文档

use*_*268 6 r knitr r-markdown

我想知道是否有人可以帮我解决我所面临的困境.

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

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

报告1:"莎莉是一位34岁的女性".(我想保存为Sally.doc)

报告2:"迈克是一名21岁的男性." (保存为Mike.doc)

等等

我有没有办法在不手动过滤数据,重新编写文档,然后使用唯一名称手动保存的情况下执行此操作?

非常感谢!

Rya*_*ton 5

使用 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)
Run Code Online (Sandbox Code Playgroud)

然后只需确保您的 RMD 文件可以params通过 YAML 获取参数:

---
params:
  names:  
---    
Run Code Online (Sandbox Code Playgroud)

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