the - r markdown tutorial pdf
R Knitr PDF: ¿Existe la posibilidad de guardar automáticamente informes en PDF(generados a partir de.Rmd) a través de un bucle? (1)
Adaptando tu ejemplo:
Necesita un .rmd
"plantilla". Podría ser algo como esto, guárdelo como template.rmd
.
This is a subgroup report.
```{r, echo=FALSE}
#Report Analysis
summary(subgroup)
```
Entonces, necesita un script R que cargue los datos que desee, recorra los subconjuntos de datos y para cada subconjunto
- Definir el objeto de
subgroup
utilizado dentro de la plantilla - renderizar la plantilla a la salida deseada
Entonces, en este script separado :
# 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")
# in a single for loop
# 1. define subgroup
# 2. render output
for (id in unique(df$ID)){
subgroup <- df[df$ID == id,]
render("template.rmd",output_file = paste0(''report.'', id, ''.html''))
}
Esto produjo 8 archivos html en mi directorio de trabajo, cada uno con un resumen de un subconjunto diferente de los datos.
Tenga en cuenta que esto no funcionará si intenta hacer clic en el botón "tejer" dentro de RStudio, ya que eso ejecuta el código R en una sesión R separada. Sin embargo, cuando se ejecuta desde la consola de forma explícita utilizando render
(o knit2pdf
), el código R en el archivo rmd todavía tiene acceso al entorno global.
Una opción diferente para lograr este objetivo sería usar el paquete de brew
.
Me gustaría crear un bucle, que me permite guardar automáticamente informes PDF, que se generaron a partir de un archivo .Rmd . Por ejemplo, si una variable "ID" tiene 10 filas, me gustaría que R me guarde automáticamente 10 informes en un directorio específico. Estos informes variarán en función de la ID seleccionada.
Una publicación anterior ( Usar bucles con knitr para producir múltiples informes en PDF ... necesito un poco de ayuda para superarme ) se ha ocupado de la creación de múltiples informes en PDF generados a partir de archivos .Rnw . Traté de aplicar el enfoque de la siguiente manera:
#Data
```{r, include=FALSE}
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)
#instead of manually choosing the ID:
subgroup<- subset(df, ID==1)
# I would like to subset the Data through a loop. My approach was like like this:
for (id in unique(df$ID)){
subgroup<- df[df$ID == id,]}
```
```{r, echo=FALSE}
#Report Analysis
summary(subgroup)
```
#Here will be some text about the summary.
# At the end the goal is to produce automatic pdf reports with the ID name as a filename:
library("rmarkdown")
render("Automated_Report.rmd",output_file = paste(''report.'', id, ''.pdf'', sep=''''))