我希望能从R脚本中生成多个报告,避免编译rmd文件所需的重复操作,如果可能的话,我想直接从R脚本中生成报告。该脚本拥有一个函数,可从数据框列表中生成每个报告,其中每个报告代表一个数据框的处理过程。但我不知道如何单独生成每个报告。目前,报告在一个文件中显示了所有的数据框。
原始脚本很复杂,因此我提供了下面的简化版本。
但是我只能得到一个报告输出,而不是三个。
原始脚本很复杂,因此我提供了下面的简化版本。
structure(list(a = structure(c(1L, 3L, 2L), .Label = c("boo",
"saa", "yaew"), class = "factor"), b = structure(c(2L, 3L,
1L), .Label = c("mfds", "shu", "ren"), class = "factor"), c = structure(c(2L,
1L, 3L), .Label = c("22", "23", "5345"), class = "factor")), .Names = c("a",
"b", "c"), row.names = c(NA, -3L), class = "data.frame")
ReportOp<-function(n) {
this_is_a_name <- n;
this_is_my_data <- ldf[[n]]
#' ---
#' author: Me
#' date:
#' ---
#+results='asis', echo=FALSE
knitr::kable(this_is_my_data, digits = 2)
#'
}
目前,我只是使用R Studio中的编译笔记本
按钮生成包含所有内容的报告。
我尝试在单独的文件中使用以下脚本的knitr::spin
:
library(knitr)
o=spin('/Users/sebastianzeki/Desktop/UntitledTBB.R')
knit2html(o,output="/Users/sebastianzeki/Desktop/out.html")
但是我只能得到一个报告输出,而不是三个。
rmarkdown::render()
函数的包装器迭代地渲染报告,可以使用lapply
、map
、do
或任何你喜欢的方法。 - Jake Kaupprmarkdown::render()
通过apply
系列(或编写包装器并使用apply
)呈现report.rmd文件和您的参数选择。我建议阅读rmarkdown::render()
文档以获取所有内容。render()
将参数传递给它。 - Jake Kaupp