R knitr Markdown: Ausgabediagramme innerhalb der For-Schleife
Ich möchte einen automatisierten Knitr-Bericht erstellen, der Histogramme für jedes numerische Feld in meinem Datenrahmen erstellt. Mein Ziel ist es, dies zu tun, ohne die tatsächlichen Felder angeben zu müssen (dieser Datensatz enthält über 70 und ich möchte das Skript auch wiederverwenden).
Ich habe ein paar verschiedene Ansätze ausprobiert:
Speichern des Plots zu einem Objekt,p
und dann anrufenp
nach der SchleifeDies zeichnet nur die endgültige HandlungErstellen einer Reihe von Plots,PLOTS <- NULL
und Anhängen der Diagramme innerhalb der SchleifePLOTS <- append(PLOTS, p)
Der Zugriff auf diese Diagramme außerhalb der Schleife funktionierte überhaupt nichtIch habe sogar versucht, jeweils eine zu speichern.png
Datei, müsste sich aber nicht mit dem Overhead des Speicherns und erneuten Zugriffs auf jede Datei befassenIch fürchte, die Kompliziertheit der Handlungsgeräte entgeht mir.
FrageWie kann ich die folgende Blockausgabe für jeden Plot innerhalb der Schleife an den Bericht vornehmen? Derzeit kann ich das beste Ergebnis erzielen, indem ich das endgültige Diagramm auf einem Objekt speichere und dieses Objekt außerhalb der Schleife aufrufe.
R Markdown Chunk mitknitr
in RStudio:
```{r plotNumeric, echo=TRUE, fig.height=3}
suppressPackageStartupMessages(library(ggplot2))
FIELDS <- names(df)[sapply(df, class)=="numeric"]
for (field in FIELDS){
qplot(df[,field], main=field)
}
```
Von diesem Punkt an hoffe ich, die Handlungen weiter anpassen zu können.