As part of the Wrangling F1 Data With R project, I want to be able to generate sentences iteratively from a templated base.
The following recipe works for sentences included in an external file:
What I’d really like to be able to do is put the Rmd template into a chunk something like this…:
```{rmd stintPara, eval=FALSE, echo=FALSE} `r name` completed `r sum(abs(stints[stints['name']==name,]['l']))` laps over `r nrow(stints[stints['name']==name,])` stints, with a longest run of `r max(abs(stints[stints['name']==name,]['l']))` laps. ```
and then do something like:
```{r results='asis'} stints['name']=factor(stints$name) for (name in levels(stints$name)){ cat(paste0(knit_child('stintPara',quiet=TRUE),'\n\n')) } ```
Is anything like that possible?
PS via the knitr Google Group, h/t Jeff Newmiller for pointing me to the knit_child() text argument…
For a different approach have a look at brew, http://cran.r-project.org/web/packages/brew/index.html .
Basically you create a .brew that creates the .rmd that creates the output. That may sound more complicated but is very readable and nicely separates your different objectives (i.e. automated creation of rmarkdown, markdown and html)