1 Einführung in die Datensätze

In diesem Bericht werden zwei offene Datensätze des Statistischen Bundesamtes (Destatis) explorativ untersucht.

Der erste Datensatz enthält die Ausgaben öffentlicher Schulen je Schüler:in in den deutschen Bundesländern. Der zweite Datensatz umfasst den Anteil früher Schulabgänger:innen in den Bundesländern.

Für die Analyse werden die Daten der Jahre 2010 bis 2024 betrachtet. Beide Datensätze werden über die Merkmale Bundesland und Jahr zusammengeführt, sodass die Entwicklung im Untersuchungszeitraum sowie der Zusammenhang zwischen den beiden Variablen untersucht werden können.

Datensätze:

Forschungsfrage:
Gibt es zwischen 2010 und 2024 einen Zusammenhang zwischen den Ausgaben öffentlicher Schulen je Schüler:in und dem Anteil früher Schulabgänger:innen in den deutschen Bundesländern?

Hypothese:
Im Zeitraum von 2010 bis 2024 weisen Bundesländer mit höheren Ausgaben je Schüler:in tendenziell einen niedrigeren Anteil früher Schulabgänger:innen auf.

2 Datensätze einlesen

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
ausgaben_roh <- read_excel(
  "/Users/perle/Desktop/ELMEB/SEMESTER 3/02 Data Science/Datenprojekt2/Ausgaben.xlsx",
  skip = 3,
  n_max = 17,
  col_names = TRUE,
  col_types = "text",
  na = c("-", ".", "")
)

abgaenger_roh <- read_excel(
  "/Users/perle/Desktop/ELMEB/SEMESTER 3/02 Data Science/Datenprojekt2/Schulabgängerinnen.xlsx",
  skip = 3,
  n_max = 17,
  col_names = FALSE,
  col_types = "text",
  na = c("-", ".", "")
)
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
## • `` -> `...9`
## • `` -> `...10`
## • `` -> `...11`
## • `` -> `...12`
## • `` -> `...13`
## • `` -> `...14`
## • `` -> `...15`
## • `` -> `...16`
## • `` -> `...17`
## • `` -> `...18`
## • `` -> `...19`
## • `` -> `...20`
## • `` -> `...21`
head(ausgaben_roh)
## # A tibble: 6 × 16
##   Ausgaben, Bundesländ…¹ `2010` `2011` `2012` `2013` `2014` `2015` `2016` `2017`
##   <chr>                  <chr>  <chr>  <chr>  <chr>  <chr>  <chr>  <chr>  <chr> 
## 1 Ausgaben, Baden-Württ… 6100   6200   6300   6500   6700   6800   7100   7300  
## 2 Ausgaben, Bayern       6400   6600   6900   7300   7700   7800   8100   8400  
## 3 Ausgaben, Berlin       7000   7400   7500   7800   8500   8900   9200   9700  
## 4 Ausgaben, Brandenburg  6200   6600   6600   6600   6700   6800   7000   7300  
## 5 Ausgaben, Bremen       6100   6300   6300   6400   6500   6800   6700   6900  
## 6 Ausgaben, Hamburg      7100   7400   7600   8000   8500   8600   9000   9600  
## # ℹ abbreviated name: ¹​`Ausgaben, Bundesländer`
## # ℹ 7 more variables: `2018` <chr>, `2019` <chr>, `2020` <chr>, `2021` <chr>,
## #   `2022` <chr>, `2023` <chr>, `2024` <chr>
head(abgaenger_roh)
## # A tibble: 6 × 21
##   ...1   ...2  ...3  ...4  ...5  ...6  ...7  ...8  ...9  ...10 ...11 ...12 ...13
##   <chr>  <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 <NA>   2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016 
## 2 Baden… 12.5  12.4  12.1  10.1  9.5   9.80… 9.9   8.30… 7.6   7.9   8.30… 9.4  
## 3 Bayern 11.2  12.6  11.2  9.6   8.80… 9.4   9.1   7.4   7.3   6.4   6.2   7.6  
## 4 Berlin 18.7  18.2  13    15.7  14.2  14.6  13.1  13    11.9  13.5  13.7  11.7 
## 5 Brand… 10.1… 11.1  9     9.30… 9     9.6   10.1… 10    10.6  9     11.6  11   
## 6 Bremen 19.1… 17.5  15    14.4  14.5  14.3  17.2  13.3  14.9  14    11.5  11.1 
## # ℹ 8 more variables: ...14 <chr>, ...15 <chr>, ...16 <chr>, ...17 <chr>,
## #   ...18 <chr>, ...19 <chr>, ...20 <chr>, ...21 <chr>

Zusammenfassung:
Die Datensätze wurden in R eingelesen und stehen damit für die weitere Analyse zur Verfügung. Die Ausgabe der ersten Zeilen gibt einen ersten Einblick in den Aufbau der Daten. Erkennbar ist, dass beide Datensätze Informationen zu Bundesländern und mehreren Jahren enthalten. Damit ist die Grundlage für die anschließende Aufbereitung und Zusammenführung der Daten geschaffen.

3 Erste Exploration der Datensätze

dim(ausgaben_roh)
## [1] 17 16
dim(abgaenger_roh)
## [1] 17 21
str(ausgaben_roh)
## tibble [17 × 16] (S3: tbl_df/tbl/data.frame)
##  $ Ausgaben, Bundesländer: chr [1:17] "Ausgaben, Baden-Württemberg" "Ausgaben, Bayern" "Ausgaben, Berlin" "Ausgaben, Brandenburg" ...
##  $ 2010                  : chr [1:17] "6100" "6400" "7000" "6200" ...
##  $ 2011                  : chr [1:17] "6200" "6600" "7400" "6600" ...
##  $ 2012                  : chr [1:17] "6300" "6900" "7500" "6600" ...
##  $ 2013                  : chr [1:17] "6500" "7300" "7800" "6600" ...
##  $ 2014                  : chr [1:17] "6700" "7700" "8500" "6700" ...
##  $ 2015                  : chr [1:17] "6800" "7800" "8900" "6800" ...
##  $ 2016                  : chr [1:17] "7100" "8100" "9200" "7000" ...
##  $ 2017                  : chr [1:17] "7300" "8400" "9700" "7300" ...
##  $ 2018                  : chr [1:17] "7600" "8800" "10500" "7800" ...
##  $ 2019                  : chr [1:17] "8200" "9500" "11300" "8400" ...
##  $ 2020                  : chr [1:17] "8500" "10000" "12300" "8800" ...
##  $ 2021                  : chr [1:17] "8800" "10200" "12400" "9300" ...
##  $ 2022                  : chr [1:17] "9300" "10600" "13100" "9600" ...
##  $ 2023                  : chr [1:17] "9500" "11200" "13500" "9800" ...
##  $ 2024                  : chr [1:17] "10200" "11900" "13700" "10900" ...
str(abgaenger_roh)
## tibble [17 × 21] (S3: tbl_df/tbl/data.frame)
##  $ ...1 : chr [1:17] NA "Baden-Württemberg" "Bayern" "Berlin" ...
##  $ ...2 : chr [1:17] "2005" "12.5" "11.2" "18.7" ...
##  $ ...3 : chr [1:17] "2006" "12.4" "12.6" "18.2" ...
##  $ ...4 : chr [1:17] "2007" "12.1" "11.2" "13" ...
##  $ ...5 : chr [1:17] "2008" "10.1" "9.6" "15.7" ...
##  $ ...6 : chr [1:17] "2009" "9.5" "8.8000000000000007" "14.2" ...
##  $ ...7 : chr [1:17] "2010" "9.8000000000000007" "9.4" "14.6" ...
##  $ ...8 : chr [1:17] "2011" "9.9" "9.1" "13.1" ...
##  $ ...9 : chr [1:17] "2012" "8.3000000000000007" "7.4" "13" ...
##  $ ...10: chr [1:17] "2013" "7.6" "7.3" "11.9" ...
##  $ ...11: chr [1:17] "2014" "7.9" "6.4" "13.5" ...
##  $ ...12: chr [1:17] "2015" "8.3000000000000007" "6.2" "13.7" ...
##  $ ...13: chr [1:17] "2016" "9.4" "7.6" "11.7" ...
##  $ ...14: chr [1:17] "2017" "8.6999999999999993" "7.2" "13.2" ...
##  $ ...15: chr [1:17] "2018" "9.6999999999999993" "7.2" "13.6" ...
##  $ ...16: chr [1:17] "2019" "9.1999999999999993" "7.6" "11.6" ...
##  $ ...17: chr [1:17] "2020 1)" NA NA NA ...
##  $ ...18: chr [1:17] "2021" "10.4" "9.3000000000000007" "9.1999999999999993" ...
##  $ ...19: chr [1:17] "2022" "10.8" "9.1" "12.3" ...
##  $ ...20: chr [1:17] "2023" "11.9" "10.1" "14.5" ...
##  $ ...21: chr [1:17] "2024 2)" "11.9" "10" "15.7" ...

Zusammenfassung:
Die erste Exploration zeigt den Umfang und die Struktur der beiden Datensätze. Dabei wird sichtbar, dass die Werte zunächst überwiegend als Zeichenketten eingelesen wurden. Für die spätere Analyse ist deshalb eine Umwandlung in numerische Werte notwendig. Dieser Schritt macht außerdem deutlich, dass die Datensätze vor der statistischen Auswertung bereinigt und vereinheitlicht werden müssen.

4 Fehlende Werte

colSums(is.na(ausgaben_roh))
## Ausgaben, Bundesländer                   2010                   2011 
##                      0                      0                      0 
##                   2012                   2013                   2014 
##                      0                      0                      0 
##                   2015                   2016                   2017 
##                      0                      0                      0 
##                   2018                   2019                   2020 
##                      0                      0                      0 
##                   2021                   2022                   2023 
##                      0                      0                      0 
##                   2024 
##                      0
colSums(is.na(abgaenger_roh))
##  ...1  ...2  ...3  ...4  ...5  ...6  ...7  ...8  ...9 ...10 ...11 ...12 ...13 
##     1     0     0     0     0     0     0     0     0     0     0     0     0 
## ...14 ...15 ...16 ...17 ...18 ...19 ...20 ...21 
##     0     0     0    16     0     0     0     0

Zusammenfassung:
Die Überprüfung der fehlenden Werte dient der Einschätzung der Datenqualität. Im Datensatz zu den Ausgaben liegen keine fehlenden Werte in den Jahresspalten vor. Im Datensatz der frühen Schulabgänger:innen fehlen hingegen die Werte für das Jahr 2020. Dieses Jahr wird daher in der weiteren Analyse ausgeschlossen, damit die Auswertungen auf einer möglichst vollständigen Datengrundlage beruhen.

5 Datensätze vorbereiten

names(ausgaben_roh)[1] <- "bundesland"
names(abgaenger_roh)[1] <- "bundesland"

ausgaben_roh$bundesland <- gsub(
  "Ausgaben, ",
  "",
  ausgaben_roh$bundesland
)

names(abgaenger_roh) <- c(
  "bundesland",
  "2005", "2006", "2007", "2008", "2009",
  "2010", "2011", "2012", "2013", "2014",
  "2015", "2016", "2017", "2018", "2019",
  "2020", "2021", "2022", "2023", "2024"
)

ausgaben_long <- data.frame(
  bundesland = rep(ausgaben_roh$bundesland, times = ncol(ausgaben_roh) - 1),
  jahr = rep(names(ausgaben_roh)[-1], each = nrow(ausgaben_roh)),
  ausgaben = as.vector(as.matrix(ausgaben_roh[, -1]))
)

abgaenger_long <- data.frame(
  bundesland = rep(abgaenger_roh$bundesland, times = ncol(abgaenger_roh) - 1),
  jahr = rep(names(abgaenger_roh)[-1], each = nrow(abgaenger_roh)),
  abbruchquote = as.vector(as.matrix(abgaenger_roh[, -1]))
)

ausgaben_long$jahr <- as.numeric(ausgaben_long$jahr)
abgaenger_long$jahr <- as.numeric(abgaenger_long$jahr)

ausgaben_long$ausgaben <- gsub(" ", "", ausgaben_long$ausgaben)
ausgaben_long$ausgaben <- gsub(",", ".", ausgaben_long$ausgaben)
ausgaben_long$ausgaben <- as.numeric(ausgaben_long$ausgaben)

abgaenger_long$abbruchquote <- gsub("\\(", "", abgaenger_long$abbruchquote)
abgaenger_long$abbruchquote <- gsub("\\)", "", abgaenger_long$abbruchquote)
abgaenger_long$abbruchquote <- gsub(",", ".", abgaenger_long$abbruchquote)
abgaenger_long$abbruchquote <- as.numeric(abgaenger_long$abbruchquote)
## Warning: NAs introduced by coercion
abgaenger_long$abbruchquote <- abs(abgaenger_long$abbruchquote)

bildung <- merge(
  ausgaben_long,
  abgaenger_long,
  by = c("bundesland", "jahr")
)

bildung <- bildung[
  bildung$bundesland != "Deutschland" &
  !is.na(bildung$bundesland) &
  !is.na(bildung$jahr) &
  !is.na(bildung$ausgaben) &
  !is.na(bildung$abbruchquote),
]

bildung <- bildung[
  bildung$jahr >= 2010 &
  bildung$jahr <= 2024 &
  bildung$jahr != 2020,
]

head(bildung)
##          bundesland jahr ausgaben abbruchquote
## 1 Baden-Württemberg 2010     6100          9.8
## 2 Baden-Württemberg 2011     6200          9.9
## 3 Baden-Württemberg 2012     6300          8.3
## 4 Baden-Württemberg 2013     6500          7.6
## 5 Baden-Württemberg 2014     6700          7.9
## 6 Baden-Württemberg 2015     6800          8.3

Zusammenfassung:
Zur Vorbereitung der Analyse wurden die Datensätze vereinheitlicht, bereinigt und in eine gemeinsame Struktur gebracht. Aus den ursprünglichen Jahresspalten wurde ein Datensatz erstellt, in dem jede Zeile ein Bundesland, ein Jahr, die Ausgaben je Schüler:in und den Anteil früher Schulabgänger:innen enthält. Das Jahr 2020 wurde wegen fehlender Werte ausgeschlossen. Damit liegt ein gemeinsamer Analysedatensatz vor, auf dessen Grundlage die Forschungsfrage weiter untersucht werden kann.

6 Deskriptive Statistik

summary(bildung$ausgaben)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    5200    6700    7500    7922    9000   13700
summary(bildung$abbruchquote)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    6.10    9.80   11.60   11.46   13.05   21.60
ausgaben_mittel <- aggregate(
  ausgaben ~ bundesland,
  data = bildung,
  mean
)

ausgaben_mittel <- ausgaben_mittel[
  order(ausgaben_mittel$ausgaben, decreasing = TRUE),
]

ausgaben_mittel
##                bundesland  ausgaben
## 3                  Berlin 10035.714
## 6                 Hamburg  9657.143
## 16              Thüringen  8814.286
## 2                  Bayern  8671.429
## 14         Sachsen-Anhalt  7907.143
## 4             Brandenburg  7828.571
## 13                Sachsen  7757.143
## 7                  Hessen  7742.857
## 5                  Bremen  7657.143
## 1       Baden-Württemberg  7614.286
## 9           Niedersachsen  7392.857
## 8  Mecklenburg-Vorpommern  7364.286
## 11        Rheinland-Pfalz  7214.286
## 12               Saarland  7146.154
## 15     Schleswig-Holstein  7057.143
## 10    Nordrhein-Westfalen  6835.714
abbruch_mittel <- aggregate(
  abbruchquote ~ bundesland,
  data = bildung,
  mean
)

abbruch_mittel <- abbruch_mittel[
  order(abbruch_mittel$abbruchquote, decreasing = TRUE),
]

abbruch_mittel
##                bundesland abbruchquote
## 5                  Bremen    15.271429
## 3                  Berlin    12.971429
## 11        Rheinland-Pfalz    12.800000
## 12               Saarland    12.692308
## 6                 Hamburg    12.550000
## 9           Niedersachsen    12.292857
## 10    Nordrhein-Westfalen    12.207143
## 15     Schleswig-Holstein    12.178571
## 14         Sachsen-Anhalt    11.964286
## 8  Mecklenburg-Vorpommern    11.392857
## 7                  Hessen    11.221429
## 4             Brandenburg    11.064286
## 1       Baden-Württemberg     9.557143
## 16              Thüringen     8.985714
## 2                  Bayern     8.135714
## 13                Sachsen     8.100000

Zusammenfassung:
Die deskriptive Statistik zeigt, dass sich sowohl die Ausgaben je Schüler:in als auch der Anteil früher Schulabgänger:innen zwischen den Bundesländern unterscheiden. Dadurch wird deutlich, dass beide Variablen eine gewisse Streuung aufweisen und sich für eine explorative Zusammenhangsanalyse eignen. Die deskriptiven Ergebnisse zeigen jedoch noch keinen statistischen Zusammenhang, sondern beschreiben zunächst die Verteilung der beiden Variablen.

7 Entwicklung über die Jahre

jahreswerte <- aggregate(
  cbind(ausgaben, abbruchquote) ~ jahr,
  data = bildung,
  mean
)

jahreswerte$ausgaben_index <-
  jahreswerte$ausgaben /
  jahreswerte$ausgaben[jahreswerte$jahr == 2010] * 100

jahreswerte$abbruch_index <-
  jahreswerte$abbruchquote /
  jahreswerte$abbruchquote[jahreswerte$jahr == 2010] * 100

jahreswerte
##    jahr  ausgaben abbruchquote ausgaben_index abbruch_index
## 1  2010  6312.500     11.70625       100.0000     100.00000
## 2  2011  6487.500     11.93750       102.7723     101.97544
## 3  2012  6525.000     10.79375       103.3663      92.20502
## 4  2013  6712.500     10.45625       106.3366      89.32194
## 5  2014  7012.500     10.09375       111.0891      86.22531
## 6  2015  7125.000     10.62500       112.8713      90.76348
## 7  2016  7275.000     10.73125       115.2475      91.67112
## 8  2017  7531.250     10.62500       119.3069      90.76348
## 9  2018  7887.500     10.71875       124.9505      91.56434
## 10 2019  8437.500     11.16875       133.6634      95.40844
## 11 2021  9368.750     12.06875       148.4158     103.09664
## 12 2022  9733.333     12.78000       154.1914     109.17245
## 13 2023  9962.500     13.55000       157.8218     115.75013
## 14 2024 10650.000     13.21250       168.7129     112.86706
par(
  bg = "#1d3157",
  col.axis = "white",
  col.lab = "white",
  col.main = "white"
)

plot(
  jahreswerte$jahr,
  jahreswerte$ausgaben_index,
  type = "o",
  pch = 19,
  col = "#1bd8ff",
  ylim = range(
    c(
      jahreswerte$ausgaben_index,
      jahreswerte$abbruch_index
    )
  ),
  xlab = "Jahr",
  ylab = "Index (2010 = 100)",
  main = "Entwicklung der Bildungsausgaben und frühen Schulabgänger:innen"
)

lines(
  jahreswerte$jahr,
  jahreswerte$abbruch_index,
  type = "o",
  pch = 17,
  col = "#b678ff"
)

legend(
  "topright",
  legend = c(
    "Ausgaben je Schüler:in",
    "Anteil früher Schulabgänger:innen"
  ),
  col = c("#1bd8ff", "#b678ff"),
  pch = c(19, 17),
  lty = 1,
  text.col = "white",
  bg = "#1d3157",
  border = "white"
)

Zusammenfassung:
Die indexierte Darstellung zeigt, wie sich die durchschnittlichen Bildungsausgaben und der durchschnittliche Anteil früher Schulabgänger:innen im Zeitverlauf entwickelt haben. Die Bildungsausgaben steigen im Untersuchungszeitraum deutlich an. Der Anteil früher Schulabgänger:innen entwickelt sich dagegen weniger eindeutig und schwankt stärker. Aus der zeitlichen Entwicklung allein lässt sich daher kein klarer Zusammenhang zwischen beiden Variablen ableiten.

8 Zusammenhang zwischen Ausgaben und frühen Schulabgänger:innen

korrelation <- cor(
  bildung$ausgaben,
  bildung$abbruchquote,
  use = "complete.obs"
)

cat(
  "Korrelationskoeffizient:",
  round(korrelation, 3)
)
## Korrelationskoeffizient: 0.2
modell <- lm(
  abbruchquote ~ ausgaben,
  data = bildung
)

cat("Lineares Regressionsmodell\n\n")
## Lineares Regressionsmodell
summary(modell)
## 
## Call:
## lm(formula = abbruchquote ~ ausgaben, data = bildung)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.4650 -1.5218  0.0692  1.4489  9.6025 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 9.172e+00  7.704e-01  11.906  < 2e-16 ***
## ausgaben    2.883e-04  9.508e-05   3.032  0.00272 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.418 on 221 degrees of freedom
## Multiple R-squared:  0.03994,    Adjusted R-squared:  0.0356 
## F-statistic: 9.194 on 1 and 221 DF,  p-value: 0.002718
p_wert <- summary(modell)$coefficients["ausgaben", "Pr(>|t|)"]
r_quadrat <- summary(modell)$r.squared

if (abs(korrelation) < 0.1) {
  staerke <- "sehr schwach"
} else if (abs(korrelation) < 0.3) {
  staerke <- "schwach"
} else if (abs(korrelation) < 0.5) {
  staerke <- "mittelstark"
} else {
  staerke <- "stark"
}

if (korrelation < 0) {
  richtung <- "negativ"
} else if (korrelation > 0) {
  richtung <- "positiv"
} else {
  richtung <- "kein"
}

Zusammenfassung:
Die Korrelationsanalyse ergibt einen Korrelationskoeffizienten von 0.2. Damit zeigt sich ein schwacher positiver Zusammenhang zwischen den Ausgaben öffentlicher Schulen je Schüler:in und dem Anteil früher Schulabgänger:innen. Das Regressionsmodell erklärt mit einem R² von 0.04 nur einen sehr kleinen Teil der Unterschiede in den Anteilen früher Schulabgänger:innen. Der Zusammenhang ist daher nur eingeschränkt aussagekräftig. Die Hypothese wird durch diese Ergebnisse höchstens schwach unterstützt und kann auf Grundlage dieser Analyse nicht eindeutig bestätigt werden.

9 Visualisierung des Zusammenhangs

par(
  bg = "#1d3157",
  col.axis = "white",
  col.lab = "white",
  col.main = "white"
)

plot(
  bildung$ausgaben,
  bildung$abbruchquote,
  pch = 19,
  col = rgb(27/255, 216/255, 255/255, alpha = 0.6),
  xlab = "Ausgaben je Schüler:in (€)",
  ylab = "Anteil früher Schulabgänger:innen (%)",
  main = "Zusammenhang zwischen Bildungsausgaben und frühen Schulabgänger:innen"
)

abline(
  modell,
  col = "#b678ff",
  lwd = 3
)

Zusammenfassung:
Das Streudiagramm zeigt eine breite Streuung der Datenpunkte. Dadurch wird sichtbar, dass die Ausgaben je Schüler:in und der Anteil früher Schulabgänger:innen nicht in einem klaren linearen Zusammenhang stehen. Die Regressionsgerade zeigt zwar die Richtung des Zusammenhangs, dieser fällt jedoch nur schwach aus. Die Visualisierung unterstützt damit die statistischen Ergebnisse: Aus den vorliegenden Daten lässt sich kein eindeutiger Zusammenhang ableiten.

10 Fazit

Ziel dieses Projekts war es zu untersuchen, ob zwischen den Ausgaben öffentlicher Schulen je Schüler:in und dem Anteil früher Schulabgänger:innen in den deutschen Bundesländern im Zeitraum von 2010 bis 2024 ein Zusammenhang besteht. Dafür wurden zwei offene Datensätze zusammengeführt, aufbereitet und mithilfe deskriptiver Statistik, Visualisierungen, einer Korrelationsanalyse und eines linearen Regressionsmodells untersucht.

Die deskriptive Statistik zeigt, dass sich die Bundesländer sowohl hinsichtlich der Bildungsausgaben als auch hinsichtlich des Anteils früher Schulabgänger:innen unterscheiden. Zudem wird in der zeitlichen Betrachtung sichtbar, dass die Bildungsausgaben im Durchschnitt deutlich steigen, während sich der Anteil früher Schulabgänger:innen weniger eindeutig entwickelt.

Die Korrelationsanalyse ergibt einen Korrelationskoeffizienten von 0.2. Damit zeigt sich lediglich ein schwacher positiver Zusammenhang zwischen den beiden Variablen. Auch das lineare Regressionsmodell erklärt mit einem R² von 0.04 nur einen sehr kleinen Teil der Unterschiede im Anteil früher Schulabgänger:innen. Die grafische Darstellung bestätigt diesen Eindruck, da die Datenpunkte breit streuen und kein klarer linearer Zusammenhang erkennbar ist.

Die Forschungsfrage kann daher nur eingeschränkt beantwortet werden: In den vorliegenden Daten zeigt sich kein deutlicher Zusammenhang zwischen höheren Bildungsausgaben je Schüler:in und niedrigeren Anteilen früher Schulabgänger:innen. Die aufgestellte Hypothese wird damit nicht klar bestätigt, sondern höchstens schwach unterstützt.

Die Ergebnisse sollten vorsichtig interpretiert werden. Ein statistischer Zusammenhang erlaubt keine Aussage über Ursache und Wirkung. Zudem können viele weitere Faktoren den Anteil früher Schulabgänger:innen beeinflussen, zum Beispiel soziale und wirtschaftliche Rahmenbedingungen, regionale Unterschiede, die Zusammensetzung der Bevölkerung oder bildungspolitische Maßnahmen. Insgesamt liefert die Analyse somit einen ersten explorativen Einblick, zeigt aber auch, dass Bildungsausgaben allein die Unterschiede bei frühen Schulabgänger:innen nicht ausreichend erklären können.