我想在一个单独的表中为3种可能性(4,6和8)之间的每个气缸(“cyl”)创建一个pdf报告。但是,我需要为循环中的每个气缸创建一个表,为此我尝试这样做:
library(knitr)
library (rmarkdown)
data(mtcars)
id.cyl <-unique(mtcars$cyl)
for(i in 1:id.cyl){
mtcars.sub<-
mtcars[mtcars$cyl==id.mtcars[i],]
kagle(mtcars.sub)
}
render("my_loop_report.pdf",
pdf_document())
这个代码不工作,我需要一些建议来解决它。请任何帮助吗?
1条答案
按热度按时间mccptt671#
创建生成报告的.rmd文件,并将柱面作为值传递。
下面是.rmd文件(比如
cylinder.rmd
)然后,您可以单独循环柱面值,每次传递柱面值
这将产生
cylinder_report_4.pdf
、cylinder_report_6.pdf
和cylinder_report_8.pdf
。(Note,在这个简单的示例中,您甚至不必传递参数;实际上,将mtcar加载到
df
中并在.rmd中对其进行子集化是不必要的。当您使用'rmarkdown::render()时,环境中的对象可用于.rmd文件,因此您还可以将循环中的数据子集化到rmd文件之外,如下所示:并且.rmd可以被简化成这样(注意,没有参数,没有创建
df
,没有子集,等等:)