7 Einfügen von Tabellen, Abbildungen und R-Objekten in den Bericht

Das Einfügen der zuvor erzeugten Tabellen und Abbildungen in den Bericht kann über verschiedene Wege erfolgen. Grundsätzlich zu unterscheiden sind diesbezüglich zum einen die Nutzung sogenannter Code Chunks, die es in R Markdown ermöglichen, Code in verschiedenen Programmiersprachen auszuführen und dessen Ergebnis in das Berichtsformat zu übernehmen. Zum anderen können Abbildungen auch über gespeicherte Bilddateien eingefügt werden. Während die letztere Variante insbesondere dann hilfreich sein kann, wenn die Bilddateien auch anderweitig Verwendung finden oder durch die Übernahme in Textverarbeitungsprogramme unerwartete Formatprobleme auftauchen, wird an dieser Stelle primär die Nutzung von Code-Chunks empfohlen.

Code-Chunks lassen sich in einem R Markdown Dokument über das Menü InsertCode ChunkR oder per Shortcut STRG + ALT + I einfügen. Diese Code Chunks können mit einem Namen und weiteren optionalen Vorgaben versehen werden. Dazu kann über das Zahnrad in der rechten oberen Ecke des Code Chunks der Name definiert werden und eingestellt werden, ob der Code Chunk im zu erzeugenden Bericht selbst auftaucht, nur dessen Ergebnisse ausgegeben werden und ob Warnhinweise oder sonstige Meldungen mit aufgeführt werden sollen.23 Die Benennung des Code Chunks ermöglicht dabei eine Referenzierung desselben an späteren Stellen im Bericht, sodass beispielsweise auch Erweiterungen des Codes vorgenommen werden können, ohne denselben nochmals aufzuführen. Wichtig ist dabei, dass der Namen der Code Chunks pro R Markdown Datei nur einmalig vergeben werden kann – wird dies nicht beachtet, wird bei der Erzeugung des Berichts eine Fehlermeldung ausgegeben und die Erstellung des Berichts abgebrochen.

Innerhalb des Code Chunks kann entweder auf R Objekte, die in einem separaten R Skript erzeugt wurden, verwiesen werden oder R Code ausgeführt werden. Das bedeutet, die beiden nachfolgenden Codes zur Generierung eines gestapelten Balkendiagramms erzeugen – unter der Voraussetzung, dass in einem separaten R Skript das Objekt plot_lf_dm erzeugt wurde – exakt dasselbe Ergebnis.

ggplot(data_plot_lf_dm, aes(x=as.factor(D19_Jahrgangsstufe_akt), y=freq, fill = as.factor(lf_dm))) + 
  geom_bar(position="stack", stat="identity") + 
  coord_flip() + 
  scale_y_continuous(labels = percent_format(accuracy = 1), limits = c(0,1)) +
  theme_minimal() + 
  theme(axis.title.y=element_text(), axis.text.y = element_text(),
        axis.text = element_text(size=12),
        legend.position = "bottom", legend.title = element_blank(),
        plot.caption = element_text(hjust = 0),
        plot.background = element_rect(colour = "black", fill=NA, size=1),
        panel.grid = element_blank()) + 
  labs(caption = "Anmerkung: Schüler*innen in Regelklassen, Jg. 1-10; Bereich Deutsch: Sprachförderung und/oder Lernförderung in Deutsch; Quelle: DiViS") +
  geom_text(aes(x = D19_Jahrgangsstufe_akt, y = freq, label = percent(freq, accuracy = .1), group = lf_dm), position = position_stack(vjust = .5), size=4.5, colour = plot_lf_dm_color_text_rev) + 
  xlab("Jahrgang") + ylab("Anteil") +
  scale_fill_manual(labels = c("Förderung im Bereich Deutsch","Förderung im Bereich Deutsch und Mathe","Förderung im Bereich Mathe"), values = plot_lf_dm_color_rev) +
  guides(fill = guide_legend(reverse = T)) +
  ggtitle("Schülerinnen und Schüler mit Förderung im Bereich Deutsch und/oder Mathematik \nim Schuljahr 2019/20, 1. Hj.")

Soll der Code in der R Markdown Datei damit möglichst kurz gehalten werden, bietet es sich an, den Code zur Erzeugung der Abbildung auszulagern und in R Markdown lediglich auf das generierte Objekt zu verweisen. Beispielsweise:

plot_lf_dm

Generierte Abbildungen können auch mit einer Beschriftung versehen werden. Dazu muss lediglich in der Definition des Code Chunks der Befehl fig.cap = ergänzt werden. Mit Hilfe des Pakets captioner (Alathea 2015) sind zudem Nummerierungen von Tabellen und Abbildungen möglich. Auf diese Beschriftungen und Nummerierungen kann an anderen Stellen im Report verwiesen werden, sodass Rückbezüge auf Abbildungen und Tabellen im Text möglich sind.

References

Alathea, Letaw. 2015. Captioner: Numbers Figures and Creates Simple Captions. https://github.com/adletaw/captioner.

  1. Erfahrene Nutzerinnen und Nutzer haben die Möglichkeit, diese Vorgaben direkt im Code Chunk vorzunehmen.↩︎