Forschungsfrage: Hängt die Höhe der Pro-Kopf-Ausgaben für Schüler:innen in einem Bundesland mit dem Anteil früher Schulabgänger:innen zusammen?
Hypothese: Je höher die Pro-Kopf-Ausgaben für Schüler:innen in einem Bundesland desto später verlassen diese die Schule.
1. Frühe Schulabgängerinnen und Schulabgänger nach Bundesländern [https://www.govdata.de/dl-de/by-2-0]
2. Ausgaben für öffentliche Schulen je Schülerin und Schüler nach Schularten und Ländern [https://www.govdata.de/dl-de/by-2-0]
# Pakete laden
library(dplyr)
## Warning: Paket 'dplyr' wurde unter R Version 4.5.1 erstellt
##
## Attache Paket: 'dplyr'
## Die folgenden Objekte sind maskiert von 'package:stats':
##
## filter, lag
## Die folgenden Objekte sind maskiert von 'package:base':
##
## intersect, setdiff, setequal, union
library(readr)
## Warning: Paket 'readr' wurde unter R Version 4.5.1 erstellt
# Daten einlesen
ausgaben <- read_csv2("C:/Users/carme/Desktop/ELMEB/SS 25/Data Science/Forschungsthema/Tabelle-2.1.14.csv", skip = 5)
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## New names:
## Rows: 341 Columns: 13
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: ";" chr
## (6): Land, Euro...5, Euro...6, Euro...7, Euro...9, Euro...10 dbl (7): Jahr,
## Euro...3, Euro...4, Euro...8, Euro...11, Euro...12, Euro...13
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `Euro` -> `Euro...3`
## • `Euro` -> `Euro...4`
## • `Euro` -> `Euro...5`
## • `Euro` -> `Euro...6`
## • `Euro` -> `Euro...7`
## • `Euro` -> `Euro...8`
## • `Euro` -> `Euro...9`
## • `Euro` -> `Euro...10`
## • `Euro` -> `Euro...11`
## • `Euro` -> `Euro...12`
## • `Euro` -> `Euro...13`
abbrecher <- read_csv2("C:/Users/carme/Desktop/ELMEB/SS 25/Data Science/Forschungsthema/Tabelle-0.64.csv", skip = 5)
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## New names:Rows: 58 Columns: 20── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (20): Regionale Aufteilung, Tsd....2, Tsd....3, Tsd....4, Tsd....5, Tsd....
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Tatsächliche Namen herausfinden von Tabelle Ausgaben
names(ausgaben)
## [1] "Land" "Jahr" "Euro...3" "Euro...4" "Euro...5" "Euro...6"
## [7] "Euro...7" "Euro...8" "Euro...9" "Euro...10" "Euro...11" "Euro...12"
## [13] "Euro...13"
View(ausgaben)
# Namen anpassen in Tabelle Ausgaben
ausgaben_clean <- ausgaben %>%
select(Bundesland = Land, Jahr, Ausgaben = `Euro...3`) %>%
filter(Jahr == 2022)
# Tatsächliche Namen herausfinden von Tabelle Abbrecher
names(abbrecher)
## [1] "Regionale Aufteilung" "Tsd....2" "Tsd....3"
## [4] "Tsd....4" "Tsd....5" "Tsd....6"
## [7] "Tsd....7" "Tsd....8" "Tsd....9"
## [10] "Tsd....10" "Tsd....11" "Tsd....12"
## [13] "Tsd....13" "Tsd....14" "Tsd....15"
## [16] "Tsd....16" "Tsd....17" "Tsd....18"
## [19] "Tsd....19" "Tsd....20"
# Passenden Wert aussuchen - frühere Schulabgänger:innen im Jahr 2022.
abbrecher_clean <- abbrecher %>%
select(Bundesland = `Regionale Aufteilung`, Abbrecher2022 = `Tsd....18`) %>%
mutate(
Abbrecher2022 = as.numeric(gsub(",", ".", Abbrecher2022))
) %>%
group_by(Bundesland) %>%
summarise(Abbrecher2022 = mean(Abbrecher2022, na.rm = TRUE))
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `Abbrecher2022 = as.numeric(gsub(",", ".", Abbrecher2022))`.
## Caused by warning:
## ! NAs durch Umwandlung erzeugt
# Daten zusammenführen
merged <- inner_join(ausgaben_clean, abbrecher_clean, by = "Bundesland")
# Ergebnis anzeigen
print(merged)
## # A tibble: 17 × 4
## Bundesland Jahr Ausgaben Abbrecher2022
## <chr> <dbl> <dbl> <dbl>
## 1 Baden-Württemberg 2022 9900 54.7
## 2 Bayern 2022 11500 55.1
## 3 Berlin 2022 13900 16.8
## 4 Brandenburg 2022 10100 NaN
## 5 Bremen 2022 10900 12.8
## 6 Hamburg 2022 13400 NaN
## 7 Hessen 2022 9900 41.2
## 8 Mecklenburg-Vorpommern 2022 9700 13.7
## 9 Niedersachsen 2022 9900 47.2
## 10 Nordrhein-Westfalen 2022 9400 92.4
## 11 Rheinland-Pfalz 2022 9600 28.6
## 12 Saarland 2022 10600 NaN
## 13 Sachsen 2022 9500 15.6
## 14 Sachsen-Anhalt 2022 9400 18.8
## 15 Schleswig-Holstein 2022 9700 20.9
## 16 Thüringen 2022 10200 12.8
## 17 Länder insgesamt 2022 10300 376.
# Zeile Länder insgesamt entfernen, damit der Wert nicht verfälscht wird
daten_final <- ausgaben_clean %>%
left_join(abbrecher_clean, by = "Bundesland") %>%
filter(!is.na(Abbrecher2022), Bundesland != "Länder insgesamt")
# Korrelation berechnen
correlation <- cor(daten_final$Ausgaben, daten_final$Abbrecher2022)
# Scatterplot
library(ggplot2)
## Warning: Paket 'ggplot2' wurde unter R Version 4.5.1 erstellt
ggplot(daten_final, aes(x = Ausgaben, y = Abbrecher2022)) +
geom_point(color = "steelblue", size = 3) +
geom_smooth(method = "lm", se = FALSE, color = "darkred") +
labs(
title = "Zusammenhang zwischen Bildungsausgaben und Schulabbrecherquote (2022)",
subtitle = paste("Korrelationskoeffizient:", round(correlation, 2)),
x = "Ausgaben pro Schüler:in (€)",
y = "Frühe Schulabgänger:innen (in Tsd.)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
# Ergebnis: Punkte: Jedes Bundesland als Punkt im Diagramm = unklar -
# deshalb nur für BW aussuchen,also BW in blau anzeigen lassen, alles andere grau
ggplot(daten_final, aes(x = Ausgaben, y = Abbrecher2022)) +
geom_point(aes(color = Bundesland == "Baden-Württemberg"), size = 3) +
scale_color_manual(values = c("FALSE" = "lightgray", "TRUE" = "steelblue")) +
geom_smooth(method = "lm", se = FALSE, color = "darkred") +
labs(
title = "Baden-Württemberg im Vergleich",
subtitle = paste("Korrelationskoeffizient:", round(correlation, 2)),
x = "Ausgaben pro Schüler:in (€)",
y = "Frühe Schulabgänger:innen (in Tsd.)",
color = "Baden-Württemberg"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
Der Korrelationskoeffizient beträgt –0.18
Die Trendlinie zeigt einen leicht negativen linearen Zusammenhang
Für Baden-Württemberg: Ausgaben je Schüler:in: ca. 9.900 € in 2022
Zahl früher Schulabgänger:innen: ca. 54.700 in 2022
Trotz durchschnittlicher Ausgaben: überdurchschnittlich viele Abbrecher:innen
Ein höheres Bildungsbudget je Schüler:in geht tendenziell mit einer niedrigeren Schulabbrecherquote einher, jedoch ist der Zusammenhang nur schwach.
Baden-Württemberg liegt im Mittelfeld der Ausgaben, aber bei den Abbrecherzahlen eher im oberen Bereich. Das kann eher auf andere Einflussfaktoren hinweisen, wie z. B. soziale Ungleichheit oder regionale Unterschiede in der Schulpflicht.
→ Der Zusammenhang zwischen Investitionen in Bildung und Bildungserfolg (gemessen an Schulabbrüchen) ist vorhanden, aber nicht stark.
Baden-Württemberg weicht vom erwartbaren Trend leicht ab.