r - 在生成的文件夹结构中使用 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 文件时,是否有将环境或目录结构传递给它的方法?
解决方案
推荐阅读
- django - Django CreateView - created_by,modified_by mixin 不起作用
- java - 迁移到 androidx 后的 ClassNotFoundException
- python - 如何在python中对月份列进行排序后找到平均值
- heroku - 是否可以将 redisgraph 与 heroku 一起使用?
- javascript - 将样式添加到 javascript 变量
- java - 使用按钮滚动后如何返回活动顶部?
- node.js - 在nodejs中逐字获取命令行参数
- c - C:指针分配错误
- c# - 如何使用 Azure 函数或逻辑应用将数据保存到 sql 数据库中?
- reactjs - axios 不会将 post 数据发送到后端