首页 > 解决方案 > 在生成的文件夹结构中使用 Rmarkdown 生成自动报告

问题描述

似乎 R Markdown 并不是为了从调用它的脚本中“输入”任何数据。我有一个自动脚本,可以根据部分、员工和日期创建文件夹树。当脚本创建输出时,它将它们放置在此文件夹结构中。然后我调用 Rmarkdown 来渲染结果的 pdf。最后,脚本通过电子邮件将 pdf 发送出去。

我可以在 Rstudio 中完成这项工作,但不能通过命令行。(该脚本由监控脚本根据需要自动调用,因此不会在 Rstudio 中运行。)

home_dir <- "/home/pc/program"
runpath <- "/home/pc/program/section/employee/2019-02-05"
run <- 1

#R script
save.image()
rmarkdown::render(paste0(home_dir,"/report_1.Rmd"),
                output_file =  paste0("Run_",run,"_","Report.pdf"), 
                output_dir = runpath)



#report_1.Rmd
```{r setup, include=FALSE}
load("/.RData")
knitr::opts_chunk$set(echo = FALSE)
```

通过保存工作区,然后将其加载到 RMarkdown 环境中,这在 RStudio 中起作用,因此我的所有数据都可以放在报告模板中。

但是,当您在命令行中运行它时,它无法找到 .RData 文件。RMarkdown 只知道在它所在的目录中搜索。(在这种情况下是 /home/pc/program)

当从 R 脚本中调用 RMarkdown 文件时,是否有将环境或目录结构传递给它的方法?

标签: rr-markdownknitr

解决方案


推荐阅读