Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
生成knitr报告_R_Knitr - Fatal编程技术网

生成knitr报告

生成knitr报告,r,knitr,R,Knitr,我对knitr相当陌生,但我已经编写了一个脚本来生成一个县的报告。第一个代码块中的第一行是display\u county如果我理解正确,您将为每个县使用相同的Rnw文件,因此每个县只有变量display\u county不同。我会首先调用数据库获取所有县的名称并将它们存储在一个向量中(比如…myCounties)。之后,可以使用包含以下内容的脚本生成报告: for(dc in myCounties) { knit2pdf(input='county_report.Rnw', output

我对
knitr
相当陌生,但我已经编写了一个脚本来生成一个县的报告。第一个代码块中的第一行是
display\u county如果我理解正确,您将为每个县使用相同的Rnw文件,因此每个县只有变量
display\u county
不同。我会首先调用数据库获取所有县的名称并将它们存储在一个向量中(比如…
myCounties
)。之后,可以使用包含以下内容的脚本生成报告:

for(dc in myCounties)  {
  knit2pdf(input='county_report.Rnw', output=paste0(dc, '_county_report.pdf'))
}
为了更有效地处理错误,还可以将knit2pdf调用包装到tryCatch语句中:

for(dc in myCounties)  {
  tryCatch(knit2pdf(input='county_report.Rnw', output=paste0(dc, '_county_report.pdf')))
}

是不是有什么原因让你不能创建一个县的向量,然后在上面迭代?@BryanHanson一点也不,这正是我使用
brew
所做的,就像Ramnath的链接答案一样。但我觉得我应该在
knitr
中就能做到这一点。你在
knitr
中试过吗?如果它通过交互式或脚本在
R
中工作,我不明白你为什么不能用
knitr
也这样做。我从未使用过
brew
,但广泛使用过
knitr
swave
,我认为这应该是可能的。关键是循环中内容的性质。如果它主要是以编程方式生成的内容,那么knitr的效果非常好。但当有文本标记时,brew+knitr更干净。在您的情况下,您可以使用子模板仅使用knitr来实现它。对于这个特定的应用程序,
knit\u expand()
应该可以很好地工作;参见<代码> C <代码>中的示例075是一个非常可怕的名称,因为它也是R中的一个非常重要的函数。