Forschungsfrage:
Gibt es einen Zusammenhang zwischen den staatlichen Bildungsausgaben und den Lesekompetenzwerten von Jugendlichen (PISA 2018)?
Hypothese:
Länder mit höheren Bildungsausgaben (in % des BIP) erzielen im Durchschnitt höhere PISA-Lesekompetenzwerte.
1. Bildungsausgaben (% des BIP):
World
Bank – Government expenditure on education
2. PISA-Lesekompetenz (2018):
OECD
– Reading performance (PISA)
# Pakete laden
library(tidyverse)
## Warning: Paket 'tidyverse' wurde unter R Version 4.4.3 erstellt
## Warning: Paket 'ggplot2' wurde unter R Version 4.4.2 erstellt
## Warning: Paket 'tibble' wurde unter R Version 4.4.2 erstellt
## Warning: Paket 'tidyr' wurde unter R Version 4.4.2 erstellt
## Warning: Paket 'readr' wurde unter R Version 4.4.2 erstellt
## Warning: Paket 'purrr' wurde unter R Version 4.4.2 erstellt
## Warning: Paket 'dplyr' wurde unter R Version 4.4.3 erstellt
## Warning: Paket 'stringr' wurde unter R Version 4.4.2 erstellt
## Warning: Paket 'forcats' wurde unter R Version 4.4.3 erstellt
## Warning: Paket 'lubridate' wurde unter R Version 4.4.3 erstellt
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# PISA-Daten einlesen
pisa <- read_delim("RS_2018.csv",
delim = ";",
skip = 2)
## Rows: 36 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): Category
## dbl (1): Reading performance (PISA)
##
## ℹ 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.
# Ausgabendaten einlesen
ausgaben <- read_csv("Ausgaben.csv",
skip = 4)
## New names:
## Rows: 266 Columns: 70
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (4): Country Name, Country Code, Indicator Name, Indicator Code dbl (54): 1970,
## 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, ... lgl (12): 1960,
## 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 2024, ...
## ℹ 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.
## • `` -> `...70`
head(pisa)
## # A tibble: 6 × 2
## Category `Reading performance (PISA)`
## <chr> <dbl>
## 1 Estonia 523
## 2 Finland 520
## 3 Canada 520
## 4 Ireland 518
## 5 Korea 514
## 6 Poland 512
head(ausgaben)
## # A tibble: 6 × 70
## `Country Name` `Country Code` `Indicator Name` `Indicator Code` `1960` `1961`
## <chr> <chr> <chr> <chr> <lgl> <lgl>
## 1 Aruba ABW Government expe… SE.XPD.TOTL.GD.… NA NA
## 2 Africa Eastern… AFE Government expe… SE.XPD.TOTL.GD.… NA NA
## 3 Afghanistan AFG Government expe… SE.XPD.TOTL.GD.… NA NA
## 4 Africa Western… AFW Government expe… SE.XPD.TOTL.GD.… NA NA
## 5 Angola AGO Government expe… SE.XPD.TOTL.GD.… NA NA
## 6 Albania ALB Government expe… SE.XPD.TOTL.GD.… NA NA
## # ℹ 64 more variables: `1962` <lgl>, `1963` <lgl>, `1964` <lgl>, `1965` <lgl>,
## # `1966` <lgl>, `1967` <lgl>, `1968` <lgl>, `1969` <lgl>, `1970` <dbl>,
## # `1971` <dbl>, `1972` <dbl>, `1973` <dbl>, `1974` <dbl>, `1975` <dbl>,
## # `1976` <dbl>, `1977` <dbl>, `1978` <dbl>, `1979` <dbl>, `1980` <dbl>,
## # `1981` <dbl>, `1982` <dbl>, `1983` <dbl>, `1984` <dbl>, `1985` <dbl>,
## # `1986` <dbl>, `1987` <dbl>, `1988` <dbl>, `1989` <dbl>, `1990` <dbl>,
## # `1991` <dbl>, `1992` <dbl>, `1993` <dbl>, `1994` <dbl>, `1995` <dbl>, …
# Nur 2018-Daten auswählen
ausgaben_2018 <- ausgaben %>%
select(`Country Name`, `2018`) %>%
rename(country = `Country Name`,
spending_2018 = `2018`) %>%
na.omit()
head(ausgaben_2018)
## # A tibble: 6 × 2
## country spending_2018
## <chr> <dbl>
## 1 Aruba 4.55
## 2 Africa Eastern and Southern 4.98
## 3 Africa Western and Central 3.02
## 4 Angola 2.18
## 5 Albania 3.15
## 6 Andorra 3.25
# PISA: Spaltenname angleichen
pisa <- pisa %>% rename(country = Category)
head(pisa)
## # A tibble: 6 × 2
## country `Reading performance (PISA)`
## <chr> <dbl>
## 1 Estonia 523
## 2 Finland 520
## 3 Canada 520
## 4 Ireland 518
## 5 Korea 514
## 6 Poland 512
# Innerer Join – nur Länder, die exakt übereinstimmen
vergleich <- inner_join(pisa, ausgaben_2018, by = "country")
# Welche Länder aus den PISA-Daten fehlen im Ausgaben-Datensatz?
fehlende_ausgaben <- anti_join(pisa, ausgaben_2018, by = "country")
# Umgekehrt: Welche Länder fehlen in den PISA-Daten?
fehlende_pisa <- anti_join(ausgaben_2018, pisa, by = "country")
fehlende_ausgaben
## # A tibble: 4 × 2
## country `Reading performance (PISA)`
## <chr> <dbl>
## 1 Korea 514
## 2 OECD - Average 487
## 3 Türkiye 466
## 4 Slovak Rep. 458
# Ländernamen angleichen
ausgaben_2018_clean <- ausgaben_2018 %>%
mutate(country = case_when(
country == "Korea, Rep." ~ "Korea",
country == "Turkiye" ~ "Türkiye",
country == "Slovak Republic" ~ "Slovak Rep.",
TRUE ~ country
))
# Datensätze zusammenführen
daten_vereint <- inner_join(pisa, ausgaben_2018_clean, by = "country") %>%
rename(reading_score = `Reading performance (PISA)`)
head(daten_vereint)
## # A tibble: 6 × 3
## country reading_score spending_2018
## <chr> <dbl> <dbl>
## 1 Estonia 523 5.24
## 2 Finland 520 6.28
## 3 Canada 520 4.89
## 4 Ireland 518 3.38
## 5 Korea 514 4.46
## 6 Poland 512 4.61
summary(daten_vereint %>% select(reading_score, spending_2018))
## reading_score spending_2018
## Min. :420.0 Min. :3.078
## 1st Qu.:476.0 1st Qu.:4.261
## Median :493.0 Median :4.930
## Mean :489.2 Mean :5.059
## 3rd Qu.:504.5 3rd Qu.:5.408
## Max. :523.0 Max. :7.641
Die Verteilung der PISA-Scores ist relativ symmetrisch um den Mittelwert von 489,2 Punkten. Der Median liegt bei 493, das 1. Quartil bei 476 und das 3. Quartil bei 504,5. Die Werte reichen von 420 bis 523, was auf eine moderate Streuung ohne extreme Ausreißer hindeutet.
Bei den Bildungsausgaben zeigt sich eine größere Streuung. Der Mittelwert liegt bei 5,06 % des BIP, der Median bei 4,93 %, mit einem Minimum von 3,08 % und einem Maximum von 7,64 %.
# Top 5 Länder nach PISA
daten_vereint %>% arrange(desc(reading_score)) %>% select(country, reading_score) %>% head(5)
## # A tibble: 5 × 2
## country reading_score
## <chr> <dbl>
## 1 Estonia 523
## 2 Finland 520
## 3 Canada 520
## 4 Ireland 518
## 5 Korea 514
# Top 5 Bildungsausgaben
daten_vereint %>% arrange(desc(spending_2018)) %>% select(country, spending_2018) %>% head(5)
## # A tibble: 5 × 2
## country spending_2018
## <chr> <dbl>
## 1 Sweden 7.64
## 2 Norway 7.60
## 3 Iceland 7.56
## 4 Denmark 7.30
## 5 Belgium 6.38
# Geringste Ausgaben
daten_vereint %>% arrange(spending_2018) %>% select(country, spending_2018) %>% head(5)
## # A tibble: 5 × 2
## country spending_2018
## <chr> <dbl>
## 1 Japan 3.08
## 2 Ireland 3.38
## 3 Greece 3.60
## 4 Luxembourg 3.66
## 5 Lithuania 3.89
Besonders hohe Lesekompetenzwerte zeigen:
Estland (523), Finnland (520) und Kanada (520), drei Länder, die regelmäßig durch gute Ergebnisse auffallen.
Irland (518) erzielt ebenfalls ein sehr gutes Ergebnis – und das bei vergleichsweise niedrigen Bildungsausgaben. Ebenso Korea (514).
Die Länder mit den höchsten Ausgaben sind:
Schweden (7,64 %), Norwegen (7,60 %), Island (7,56 %) und Dänemark (7,30 %) – allesamt nordische Länder.
Belgien (6,38 %) liegt ebenfalls über dem Durchschnitt, zeigt aber im PISA-Vergleich ein weniger herausragendes Ergebnis.
Am unteren Ende der Ausgabenliste:
Japan (3,08 %) investiert relativ wenig, erzielt aber konstant gute PISA-Ergebnisse. Hinweis auf kulturelle oder strukturelle Effekte, die über die reinen Investitionen hinausgehen.
Irland (3,38 %) ist ein besonders interessanter Fall -> geringe Ausgaben, aber Top-5 im PISA-Score.
Griechenland, Luxemburg und Litauen liegen mit unter 4 % ebenfalls deutlich unter dem Schnitt.
Diese Beobachtungen deuten an, dass höhere Bildungsausgaben nicht automatisch mit besseren PISA-Ergebnissen einhergehen. Andere Faktoren könnten auch eine zentrale Rolle spielen. Die folgende Analyse soll diesen Zusammenhang genauer untersuchen.
# Scatterplot mit Regressionslinie
ggplot(daten_vereint, aes(x = spending_2018, y = reading_score)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(
title = "Zusammenhang zwischen Bildungsausgaben und PISA-Lesekompetenz (2018)",
x = "Bildungsausgaben (% des BIP)",
y = "PISA-Lesekompetenz"
)
## `geom_smooth()` using formula = 'y ~ x'
Die Streuung ist relativ breit und der Zusammenhang nicht sehr stark linear, der Trend ist zwar erkennbar, aber schwach. Die Verteilung ist annähernd linear und ohne extreme Ausreißer. Für Pearson gerade noch ausreichend.
# Normalverteilung prüfen
qqnorm(daten_vereint$spending_2018); qqline(daten_vereint$spending_2018)
qqnorm(daten_vereint$reading_score); qqline(daten_vereint$reading_score)
shapiro.test(daten_vereint$spending_2018)
##
## Shapiro-Wilk normality test
##
## data: daten_vereint$spending_2018
## W = 0.92874, p-value = 0.02566
shapiro.test(daten_vereint$reading_score)
##
## Shapiro-Wilk normality test
##
## data: daten_vereint$reading_score
## W = 0.95019, p-value = 0.1149
Für die PISA-Lesekompetenzwerte ergibt sich ein p-Wert von 0.1149 (p> 0.05). Damit kann die Annahme der Normalverteilung beibehalten werden.
Für die Bildungsausgaben (spending_2018) liegt der p-Wert bei 0.02566 (p< 0.05), was auf eine signifikante Abweichung von der Normalverteilung hinweist.
# Pearson-Korrelation
cor.test(daten_vereint$spending_2018, daten_vereint$reading_score)
##
## Pearson's product-moment correlation
##
## data: daten_vereint$spending_2018 and daten_vereint$reading_score
## t = 1.2785, df = 33, p-value = 0.21
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.1250554 0.5133283
## sample estimates:
## cor
## 0.2172447
# Spearman-Korrelation
cor.test(daten_vereint$spending_2018, daten_vereint$reading_score, method = "spearman")
## Warning in cor.test.default(daten_vereint$spending_2018,
## daten_vereint$reading_score, : Kann exakten p-Wert bei Bindungen nicht
## berechnen
##
## Spearman's rank correlation rho
##
## data: daten_vereint$spending_2018 and daten_vereint$reading_score
## S = 5450.8, p-value = 0.1712
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.2365803
Die Pearson-Korrelation ergab einen Korrelationskoeffizienten von r = 0.22 bei einem p-Wert von 0.21 (p > 0.05). Dieser positive, aber nicht signifikante Zusammenhang deutet auf eine schwache lineare Beziehung hin.
Da die Variable Bildungsausgaben nicht normalverteilt war, wurde ergänzend die Spearman-Korrelation berechnet. Diese ergab einen Koeffizienten von ρ = 0.24 mit einem p-Wert von 0.17 (p > 0.05), ebenfalls nicht signifikant.
Insgesamt zeigt sich somit kein statistisch signifikanter Zusammenhang zwischen dem Bildungsbudget eines Landes und der durchschnittlichen PISA-Lesekompetenz.
Es gibt Hinweise auf einen positiven Zusammenhang, aber auf Basis dieser Stichprobe kann kein statistisch gesicherter Zusammenhang zwischen Bildungsausgaben und PISA-Lesekompetenz nachgewiesen werden. Die Hypothese wird somit nicht bestätigt.