R knitr Markdown: Output Plots w For Loop
Chciałbym utworzyć zautomatyzowany raport knitr, który wygeneruje histogramy dla każdego pola numerycznego w obrębie mojej ramki danych. Moim celem jest zrobienie tego bez konieczności określania rzeczywistych pól (ten zestaw danych zawiera ponad 70 i chciałbym również ponownie użyć skryptu).
Próbowałem kilku różnych podejść:
zapisanie działki do obiektu,p
, a następnie dzwoniącp
po pętliTo tylko przedstawia ostateczną fabułęTworzenie szeregu wątków,PLOTS <- NULL
i dołączanie działek w pętliPLOTS <- append(PLOTS, p)
Dostęp do tych wątków z pętli w ogóle nie działałPróbowałem nawet zapisać każdy do.png
plik, ale raczej nie musiałby zajmować się obciążeniem związanym z zapisywaniem, a następnie ponownym dostępem do każdego plikuObawiam się, że zawiłości urządzeń fabularnych uciekają ze mnie.
PytanieJak mogę sprawić, aby następująca porcja wyprowadzała każdy wykres w pętli do raportu? Obecnie najlepsze, co mogę osiągnąć, to wyprowadzenie końcowego wykresu przez zapisanie go do obiektu i wywołanie tego obiektu poza pętlą.
Za pomocą kawałka R Markdownknitr
w 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)
}
```
Od tego momentu mam nadzieję na dalsze dostosowanie działek.