# install.packages("devtools")
devtools::install_github("nickhaf/eatPlot")
HTML-Folien können durch tippen von e
in PDF umgewandelt werden, und dann mit Drucken aus dem Browser abgespeichert werden, falls ihr darin kommentieren wollt.
# install.packages("devtools")
devtools::install_github("nickhaf/eatPlot")
Automatisiert die Grafikerstellung für eatRep-Output (vor allem BT-Grafiken).
Das Paket befindet sich noch in Entwicklung. Die Beispiele in dieser Präsentation sind vorläufig, können sich also noch leicht ändern. Ich werde alle Änderungen aber in den online-Vorlagen anpassen.
str(trend_3)
List of 4
$ plain :'data.frame': 6642 obs. of 18 variables:
..$ label1 : chr [1:6642] "aohneZWH_total for year 2009" "aohneZWH_total for year 2009" "aohneZWH_total for year 2009" "aohneZWH_Baden-Wuerttemberg for year 2009" ...
..$ label2 : chr [1:6642] "year=2009: mhg=aohneZWH, TR_BUNDESLAND=total" "year=2009: mhg=aohneZWH, TR_BUNDESLAND=total" "year=2009: mhg=aohneZWH, TR_BUNDESLAND=total" "year=2009: mhg=aohneZWH, TR_BUNDESLAND=Baden-Wuerttemberg" ...
..$ depVar : chr [1:6642] "bista" "bista" "bista" "bista" ...
..$ modus : chr [1:6642] "CONV.mean" "CONV.mean" "CONV.mean" "CONV.mean" ...
..$ comparison : chr [1:6642] "none" "none" "none" "none" ...
..$ parameter : chr [1:6642] "mean" "Ncases" "sd" "mean" ...
..$ mhg : chr [1:6642] "aohneZWH" "aohneZWH" "aohneZWH" "aohneZWH" ...
..$ TR_BUNDESLAND: chr [1:6642] "total" "total" "total" "Baden-Wuerttemberg" ...
..$ kb : chr [1:6642] "hoeren" "hoeren" "hoeren" "hoeren" ...
..$ spf : chr [1:6642] "alle" "alle" "alle" "alle" ...
..$ year : chr [1:6642] "2009" "2009" "2009" "2009" ...
..$ es : num [1:6642] NA NA NA NA NA NA NA NA NA NA ...
..$ est : num [1:6642] 533.4 23722 81.8 543.3 1507 ...
..$ p : num [1:6642] 0 NA NA 0 NA NA 0 NA NA 0 ...
..$ se : num [1:6642] 0.797 NA NA 2.668 NA ...
..$ id : chr [1:6642] "group_1883" "group_1883" "group_1883" "group_1887" ...
..$ unit_1 : chr [1:6642] NA NA NA NA ...
..$ unit_2 : chr [1:6642] NA NA NA NA ...
$ comparisons:'data.frame': 3852 obs. of 4 variables:
..$ id : chr [1:3852] "comp_1" "comp_2" "comp_3" "comp_4" ...
..$ unit_1 : chr [1:3852] "group_1883" "group_1883" "group_1887" "group_1887" ...
..$ unit_2 : chr [1:3852] "group_2667" "group_1887" "group_1983" "group_2667" ...
..$ comparison: chr [1:3852] "crossDiff" "crossDiff" "crossDiff" "crossDiff" ...
$ group :'data.frame': 306 obs. of 6 variables:
..$ id : chr [1:306] "group_1883" "group_1887" "group_1893" "group_1899" ...
..$ mhg : chr [1:306] "aohneZWH" "aohneZWH" "aohneZWH" "aohneZWH" ...
..$ TR_BUNDESLAND: chr [1:306] "total" "Baden-Wuerttemberg" "Bayern" "Berlin" ...
..$ year : chr [1:306] "2009" "2009" "2009" "2009" ...
..$ kb : chr [1:306] "hoeren" "hoeren" "hoeren" "hoeren" ...
..$ spf : chr [1:306] "alle" "alle" "alle" "alle" ...
$ estimate :'data.frame': 6642 obs. of 7 variables:
..$ id : chr [1:6642] "group_1883" "group_1883" "group_1883" "group_1887" ...
..$ depVar : chr [1:6642] "bista" "bista" "bista" "bista" ...
..$ parameter: chr [1:6642] "mean" "Ncases" "sd" "mean" ...
..$ est : num [1:6642] 533.4 23722 81.8 543.3 1507 ...
..$ se : num [1:6642] 0.797 NA NA 2.668 NA ...
..$ p : num [1:6642] 0 NA NA 0 NA NA 0 NA NA 0 ...
..$ es : num [1:6642] NA NA NA NA NA NA NA NA NA NA ...
Es gibt zwei Prep-Funktionen:
lineplot_prepped <- prep_lineplot(trend_3, subgroup_var = "mhg")
tableplot_prepped <- prep_tablebarplot(trend_mw,
subgroup_var = "geschlecht",
comparisons = c("none", "crossDiff"))
str(lineplot_prepped)
'data.frame': 612 obs. of 50 variables:
$ unit : chr "group_1883" "group_1883" "group_1887" "group_1887" ...
$ mhg : chr "aohneZWH" "aohneZWH" "aohneZWH" "aohneZWH" ...
$ TR_BUNDESLAND : chr "total" "total" "Baden-Wuerttemberg" "Baden-Wuerttemberg" ...
$ year : num 2009 2009 2009 2009 2009 ...
$ kb : chr "hoeren" "hoeren" "hoeren" "hoeren" ...
$ spf : chr "alle" "alle" "alle" "alle" ...
$ subgroup_var : chr "aohneZWH" "aohneZWH" "aohneZWH" "aohneZWH" ...
$ depVar : chr "bista" "bista" "bista" "bista" ...
$ parameter : chr "mean" "mean" "mean" "mean" ...
$ trend : chr "2009_2022" "2009_2015" "2009_2022" "2009_2015" ...
$ es_comparison_crossDiff_subgroupTotal : num NA NA 0.243 0.243 0.224 0.224 0.395 0.395 0.05 0.05 ...
$ es_comparison_crossDiffTotal : num NA NA 0.121 0.121 0.166 0.166 -0.118 -0.118 -0.39 -0.39 ...
$ es_comparison_crossDiffTotal_subgroupTotal : num NA NA 0.346 0.346 0.396 0.396 0.109 0.109 -0.154 -0.154 ...
$ es_comparison_none : num NA NA NA NA NA NA NA NA NA NA ...
$ es_comparison_trend : num -0.445 -0.126 -0.373 -0.229 -0.513 -0.173 -0.352 0.022 -0.446 0.139 ...
$ es_comparison_trend_crossDiff_subgroupTotal : num NA NA 2.406 1.041 0.593 ...
$ es_comparison_trend_crossDiffTotal : num NA NA 0.92 -2.605 -0.824 ...
$ es_comparison_trend_crossDiffTotal_subgroupTotal : num NA NA 4.068 -1.303 0.852 ...
$ est_comparison_crossDiff_subgroupTotal : num NA NA 20.7 20.7 18.2 ...
$ est_comparison_crossDiffTotal : num NA NA 9.93 9.93 13.26 ...
$ est_comparison_crossDiffTotal_subgroupTotal : num NA NA 29.6 29.6 33 ...
$ est_comparison_none : num 533 533 543 543 547 ...
$ est_comparison_trend : num -41.7 -10.9 -36.6 -20.4 -45.6 ...
$ est_comparison_trend_crossDiff_subgroupTotal : num NA NA 21.8 14.09 5.47 ...
$ est_comparison_trend_crossDiffTotal : num NA NA 5.03 -9.53 -3.94 ...
$ est_comparison_trend_crossDiffTotal_subgroupTotal: num NA NA 21.35 -6.73 12.38 ...
$ p_comparison_crossDiff_subgroupTotal : num NA NA 0 0 0 0 0 0 0.16 0.16 ...
$ p_comparison_crossDiffTotal : num NA NA 0 0 0 0 0.001 0.001 0 0 ...
$ p_comparison_crossDiffTotal_subgroupTotal : num NA NA 0 0 0 0 0.001 0.001 0 0 ...
$ p_comparison_none : num 0 0 0 0 0 0 0 0 0 0 ...
$ p_comparison_trend : num 0 0 0 0 0 0.001 0 0.695 0 0.004 ...
$ p_comparison_trend_crossDiff_subgroupTotal : num NA NA 0.004 0.025 0.432 0.957 0.05 0.143 0.501 0.791 ...
$ p_comparison_trend_crossDiffTotal : num NA NA 0.459 0.061 0.53 0.472 0.397 0.016 0.888 0 ...
$ p_comparison_trend_crossDiffTotal_subgroupTotal : num NA NA 0.002 0.183 0.047 0.91 0.001 0.003 0.014 0 ...
$ se_comparison_crossDiff_subgroupTotal : num NA NA 3.54 3.54 2.77 ...
$ se_comparison_crossDiffTotal : num NA NA 2.79 2.79 2.25 ...
$ se_comparison_crossDiffTotal_subgroupTotal : num NA NA 2.76 2.76 2.22 ...
$ se_comparison_none : num 0.797 0.797 2.668 2.668 2.099 ...
$ se_comparison_trend : num 4.94 3.07 6.65 4.92 6.13 ...
$ se_comparison_trend_crossDiff_subgroupTotal : num NA NA 7.65 6.26 6.97 ...
$ se_comparison_trend_crossDiffTotal : num NA NA 6.78 5.08 6.27 ...
$ se_comparison_trend_crossDiffTotal_subgroupTotal : num NA NA 6.75 5.06 6.24 ...
$ sig_comparison_crossDiff_subgroupTotal : logi FALSE FALSE TRUE TRUE TRUE TRUE ...
$ sig_comparison_crossDiffTotal : logi FALSE FALSE TRUE TRUE TRUE TRUE ...
$ sig_comparison_crossDiffTotal_subgroupTotal : logi FALSE FALSE TRUE TRUE TRUE TRUE ...
$ sig_comparison_none : logi TRUE TRUE TRUE TRUE TRUE TRUE ...
$ sig_comparison_trend : logi TRUE TRUE TRUE TRUE TRUE TRUE ...
$ sig_comparison_trend_crossDiff_subgroupTotal : logi FALSE FALSE TRUE TRUE FALSE FALSE ...
$ sig_comparison_trend_crossDiffTotal : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
$ sig_comparison_trend_crossDiffTotal_subgroupTotal: logi FALSE FALSE TRUE FALSE TRUE FALSE ...
str(tableplot_prepped)
'data.frame': 85 obs. of 49 variables:
$ depVar : chr "bista" "bista" "bista" "bista" ...
$ geschlecht : chr "w" "w" "w" "w" ...
$ TR_BUNDESLAND : chr "total" "Baden-Wuerttemberg" "Bayern" "Berlin" ...
$ est_2009_none_mean : num 32 63.2 45.9 27.8 23.6 ...
$ est_2015_none_mean : num 37.8 41 25.2 32 33.6 ...
$ est_2022_none_mean : num 50.5 29.1 30.3 71 47.8 ...
$ est_2009_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ est_2015_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ est_2022_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ est_2009_crossDiffTotal_mean: num NA 43.7 62 39.8 54.2 ...
$ est_2015_crossDiffTotal_mean: num NA 44.4 42.1 43.5 50.4 ...
$ est_2022_crossDiffTotal_mean: num NA 38.8 47 38.3 31.5 ...
$ se_2009_none_mean : num 0.797 2.668 2.099 2.883 2.308 ...
$ se_2015_none_mean : num 0.992 3.04 2.733 3.322 2.549 ...
$ se_2022_none_mean : num 1.06 3.8 3.24 3.6 3.17 ...
$ se_2009_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ se_2015_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ se_2022_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ se_2009_crossDiffTotal_mean : num NA 2.79 2.25 2.99 2.44 ...
$ se_2015_crossDiffTotal_mean : num NA 3.2 2.91 3.47 2.73 ...
$ se_2022_crossDiffTotal_mean : num NA 3.94 3.41 3.76 3.35 ...
$ es_2009_none_mean : num -0.372 -1.495 0.36 0.694 -0.522 ...
$ es_2015_none_mean : num 0.749 0.459 -0.807 0.24 0.357 ...
$ es_2022_none_mean : num 0.487 0.605 -0.192 -0.536 1.106 ...
$ es_2009_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ es_2015_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ es_2022_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ es_2009_crossDiffTotal_mean : num NA -0.991 0.161 -0.482 0.71 ...
$ es_2015_crossDiffTotal_mean : num NA 0.198 0.104 -1.331 0.203 ...
$ es_2022_crossDiffTotal_mean : num NA -0.234 0.615 -0.133 0.784 ...
$ sig_2009_none_mean : logi FALSE TRUE TRUE FALSE FALSE FALSE ...
$ sig_2015_none_mean : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
$ sig_2022_none_mean : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
$ sig_2009_crossDiff_mean : logi NA NA NA NA NA NA ...
$ sig_2015_crossDiff_mean : logi NA NA NA NA NA NA ...
$ sig_2022_crossDiff_mean : logi NA NA NA NA NA NA ...
$ sig_2009_crossDiffTotal_mean: logi NA FALSE TRUE TRUE FALSE FALSE ...
$ sig_2015_crossDiffTotal_mean: logi NA FALSE FALSE FALSE FALSE FALSE ...
$ sig_2022_crossDiffTotal_mean: logi NA FALSE FALSE FALSE FALSE FALSE ...
$ p_2009_none_mean : num 0.0766 0.0398 0.0408 0.5275 0.1505 ...
$ p_2015_none_mean : num 0.154 0.232 0.35 0.27 0.223 ...
$ p_2022_none_mean : num 0.104 0.0835 0.3648 0.1522 0.0518 ...
$ p_2009_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ p_2015_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ p_2022_crossDiff_mean : num NA NA NA NA NA NA NA NA NA NA ...
$ p_2009_crossDiffTotal_mean : num NA 0.1776 0.0211 0.0474 0.481 ...
$ p_2015_crossDiffTotal_mean : num NA 0.302 0.14 0.431 0.605 ...
$ p_2022_crossDiffTotal_mean : num NA 0.2634 0.0822 0.14 0.4469 ...
$ y_axis : int 1 2 3 4 5 6 7 8 9 10 ...
?plot_lineplot
?plot_tablebarplot
Neben der R-internen Hilfe zu den Funktionen sollten auch die online-Vorlagen verwendet werden.
Einstellungen zum Aussehen der Plots werden so vorgenommen:
?plotsettings_lineplot
?plotsettings_tablebarplot
Es gibt dabei voreingestellte Setting-Objekte, die genutzt werden können:
plotsettings_lineplot(default_list = lineplot_4x4)
trend_dat <- readRDS("I:/Methoden/02_IQB-interne_eat_Workshops/eatRep_2024/Beispieloutputs/04_meansAufbereitet.rds")
Wir möchten einen Linienplot für eine Gruppe erstellen.
Die Beispiele finden sich hier.
Achtung
Die Beispiele dienen nur der Illustration und sind noch nicht final für den BT freigegeben. Bitte schaut zur Erstellung der Grafiken dann auf der Webseite vorbei.
plot_my_lineplot <- function(eatRep_kb){
kb_prepped <- prep_lineplot(
eatRep_kb
)
plot_kb <- plot_lineplot(
kb_prepped,
years_lines = list(c(2009, 2015), c(2015, 2022)),
years_braces = list(c(2009, 2015), c(2015, 2022)),
plot_settings = plotsettings_lineplot(default_list = lineplot_4x4)
)
return(plot_kb)
}
plots_6.6_kbs <- lapply(eatRep_kb_list, plot_my_lineplot )
Für zwei Gruppen funktioniert das ganz ähnlich.
trend_dat_geschlecht <- readRDS("I:/Methoden/02_IQB-interne_eat_Workshops/eatRep_2024/Beispieloutputs/disp_geschlecht.rds")
trend_dat_geschlecht <- readRDS("I:/Methoden/02_IQB-interne_eat_Workshops/eatRep_2024/Beispieloutputs/disp_geschlecht.rds")
Wir möchten Abbildung 6.6 aus dem Geschlechterkapitel erstellen.
Die Beispiele finden sich hier.
Achtung
Die Beispiele dienen nur der Illustration und sind noch nicht final für den BT freigegeben. Bitte schaut zur Erstellung der Grafiken dann auf der Webseite vorbei.
**Das ist mein fettgedruckter Text**
*Das ist mein Kursiver Text*
Hochgestelltes<sup>a</sup>
Tiefgestelltes<sub>yaay</sub>
plot_my_tableplot_6.6 <- function(eatRep_kb){
kb_prepped <- prep_tablebarplot(
eatRep_kb
# ...
)
plot_kb <- plot_tablebarplot(
kb_prepped
# ...
)
return(plot_kb)
}
plots_6.6 <- lapply(eatRep_kb_list, plot_my_tableplot_6.6)