Adapting your example:
You need one .rmd "template" template. It could be something like this, save it as template.rmd .
This is a subgroup report. ```{r, echo=FALSE} #Report Analysis summary(subgroup) ```
Then you need an R script that will load the data you need, iterate over subsets of data and for each subset
- Define the
subgroup object used inside the template - map the template to the desired output
So, in this separate script:
# load data set.seed(500) Score <- rnorm(40, 100, 15) Criteria1<-rnorm(40, 10, 5) Criteria2<-rnorm(40, 20, 5) ID <- sample(1:1000,8,replace=T) df <- data.frame(ID,Score,Criteria1,Criteria2) library("rmarkdown")
This created 8 html files in my working directory, each of which contains a summary of another subset of the data.
Please note that this will not work if you try to click the knit button inside RStudio, as this will run the R code in a separate R session. However, when explicitly starting from the console using render (or knit2pdf ), the R code in the rmd file is all still has access to the global environment.
Another option to achieve this is to use the brew package.
Gregor
source share