Vorrei creare un ciclo, che mi consente di salvare automaticamente i rapporti PDF, che sono stati generati da un file .Rmd. Ad esempio, se una variabile "ID" ha 10 righe, vorrei che R mi salvi automaticamente 10 rapporti, in una directory specifica. Questi rapporti possono variare in base all'ID selezionato.R Knitr PDF: Esiste la possibilità di salvare automaticamente i report PDF (generati da .Rmd) attraverso un ciclo?
un post precedente (Using loops with knitr to produce multiple pdf reports... need a little help to get me over the hump) si è occupata della creazione di più report in formato PDF generati da .Rnw file. Ho cercato di applicare l'approccio come segue:
#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=''))
È necessario un ciclo, non due. Il modo in cui il tuo codice è impostato, ti collegherai attraverso tutti i tuoi sottogruppi e, quando avrai finito, creerai una serie di PDF. È necessario combinarli: selezionare un sottogruppo e creare un report basato su di esso all'interno dello stesso ciclo. Se hai bisogno di più aiuto, dovrai essere molto più specifico di "sembra non funzionare" e probabilmente creare un esempio riproducibile. – Gregor
Si potrebbe anche guardare a 'knit_expand' o al pacchetto' brew'. – Gregor
Ho provato anche con un solo ciclo per il subsetting. Ma non ha funzionato neanche. Ho fornito un semplice esempio riproducibile, che incolla solo il riepilogo per ogni ID in un report e anche scambiato la funzione knit2pdf() con la funzione render() dal pacchetto rmarkdown. @ Gregor – user3491036