Forschungsfrage:
Gibt es einen Zusammenhang
zwischen den staatlichen Bildungsausgaben als Anteil am BIP und den
durchschnittlichen Schuljahren von Erwachsenen?
Hypothese:
Länder mit höheren staatlichen
Bildungsausgaben als Anteil am BIP weisen tendenziell mehr
durchschnittliche Schuljahre bei Erwachsenen auf.
Average years of schooling among adults
Quelle: Our World in Data
Der Datensatz enthält die
durchschnittliche Anzahl an Schuljahren von Erwachsenen ab 25 Jahren.
Die Werte zeigen also, wie viele Jahre Erwachsene in einem Land
durchschnittlich in formaler Bildung verbracht haben.
Government spending on education as a share of GDP
Quelle: Our World in Data
Der Datensatz enthält die
staatlichen Bildungsausgaben als Anteil am Bruttoinlandsprodukt. Dadurch
lässt sich vergleichen, welchen Anteil ihrer Wirtschaftsleistung Länder
für Bildung ausgeben.
# Benötigte Pakete laden
library(readr)
library(dplyr)
library(ggplot2)
# Wissenschaftliche Schreibweise vermeiden
options(scipen = 999)
# Datensatz 1 einlesen:
# Durchschnittliche Schuljahre von Erwachsenen ab 25 Jahren
schooling <- read_csv("average-years-of-schooling-among-adults.csv")
## Rows: 6760 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Entity, Code
## dbl (2): Year, Both genders
##
## ℹ 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.
# Datensatz 2 einlesen:
# Staatliche Bildungsausgaben als Anteil am BIP
education_spending <- read_csv("government-spending-on-education-as-a-share-of-gdp.csv")
## Rows: 5205 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Entity, Code
## dbl (2): Year, Total across all levels of education
##
## ℹ 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.
# Erste Zeilen der Datensätze anzeigen
head(schooling)
## # A tibble: 6 × 4
## Entity Code Year `Both genders`
## <chr> <chr> <dbl> <dbl>
## 1 Afghanistan AFG 1990 0.872
## 2 Afghanistan AFG 1991 0.915
## 3 Afghanistan AFG 1992 0.959
## 4 Afghanistan AFG 1993 1.00
## 5 Afghanistan AFG 1994 1.05
## 6 Afghanistan AFG 1995 1.09
head(education_spending)
## # A tibble: 6 × 4
## Entity Code Year `Total across all levels of education`
## <chr> <chr> <dbl> <dbl>
## 1 Afghanistan AFG 2010 3.48
## 2 Afghanistan AFG 2011 3.46
## 3 Afghanistan AFG 2012 2.60
## 4 Afghanistan AFG 2013 3.45
## 5 Afghanistan AFG 2014 3.70
## 6 Afghanistan AFG 2015 3.26
# Struktur und Datentypen der Datensätze prüfen
glimpse(schooling)
## Rows: 6,760
## Columns: 4
## $ Entity <chr> "Afghanistan", "Afghanistan", "Afghanistan", "Afghanist…
## $ Code <chr> "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG",…
## $ Year <dbl> 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1…
## $ `Both genders` <dbl> 0.8719619, 0.9152675, 0.9585729, 1.0018785, 1.0451839, …
glimpse(education_spending)
## Rows: 5,205
## Columns: 4
## $ Entity <chr> "Afghanistan", "Afghanistan", "…
## $ Code <chr> "AFG", "AFG", "AFG", "AFG", "AF…
## $ Year <dbl> 2010, 2011, 2012, 2013, 2014, 2…
## $ `Total across all levels of education` <dbl> 3.479450, 3.462010, 2.604210, 3…
# Fehlende Werte pro Spalte prüfen
colSums(is.na(schooling))
## Entity Code Year Both genders
## 0 340 0 0
colSums(is.na(education_spending))
## Entity Code
## 0 0
## Year Total across all levels of education
## 0 0
Die erste Exploration zeigt, dass beide Datensätze ähnlich aufgebaut
sind. Beide enthalten die Variablen Entity,
Code und Year. Dadurch können die Datensätze
später über Land und Jahr miteinander verbunden werden. Im
Schuljahre-Datensatz gibt es fehlende Werte in der Spalte
Code. Diese werden im nächsten Schritt genauer
betrachtet.
# Spalten umbenennen, damit sie im weiteren Code leichter verwendet werden können.
# Die Spaltennamen werden vereinheitlicht und sprechender benannt.
schooling_clean <- schooling %>%
rename(
country = Entity,
code = Code,
year = Year,
avg_schooling = `Both genders`
)
education_spending_clean <- education_spending %>%
rename(
country = Entity,
code = Code,
year = Year,
education_spending_gdp = `Total across all levels of education`
)
# Kontrolle der umbenannten Datensätze
head(schooling_clean)
## # A tibble: 6 × 4
## country code year avg_schooling
## <chr> <chr> <dbl> <dbl>
## 1 Afghanistan AFG 1990 0.872
## 2 Afghanistan AFG 1991 0.915
## 3 Afghanistan AFG 1992 0.959
## 4 Afghanistan AFG 1993 1.00
## 5 Afghanistan AFG 1994 1.05
## 6 Afghanistan AFG 1995 1.09
head(education_spending_clean)
## # A tibble: 6 × 4
## country code year education_spending_gdp
## <chr> <chr> <dbl> <dbl>
## 1 Afghanistan AFG 2010 3.48
## 2 Afghanistan AFG 2011 3.46
## 3 Afghanistan AFG 2012 2.60
## 4 Afghanistan AFG 2013 3.45
## 5 Afghanistan AFG 2014 3.70
## 6 Afghanistan AFG 2015 3.26
Die Spalten werden umbenannt, damit sie im weiteren Verlauf leichter
verwendet werden können. Die Variable avg_schooling
beschreibt die durchschnittlichen Schuljahre. Die Variable
education_spending_gdp beschreibt die Bildungsausgaben als
Anteil am BIP.
# Prüfen, welche Einträge im Schuljahre-Datensatz keinen Ländercode haben.
# Fehlende Codes können ein Hinweis darauf sein, dass es sich nicht um einzelne Länder,
# sondern um Regionen oder Ländergruppen handelt.
schooling_clean %>%
filter(is.na(code)) %>%
distinct(country)
## # A tibble: 10 × 1
## country
## <chr>
## 1 Arab States (UNDP)
## 2 East Asia and the Pacific (UNDP)
## 3 Europe and Central Asia (UNDP)
## 4 High human development (UNDP)
## 5 Latin America and the Caribbean (UNDP)
## 6 Low human development (UNDP)
## 7 Medium human development (UNDP)
## 8 South Asia (UNDP)
## 9 Sub-Saharan Africa (UNDP)
## 10 Very high human development (UNDP)
# Prüfen, ob auch im Bildungsausgaben-Datensatz Einträge ohne Ländercode vorhanden sind.
education_spending_clean %>%
filter(is.na(code)) %>%
distinct(country)
## # A tibble: 0 × 1
## # ℹ 1 variable: country <chr>
Im Datensatz zu den durchschnittlichen Schuljahren fehlen bei einigen Beobachtungen die Ländercodes. Eine genauere Betrachtung zeigt, dass es sich dabei nicht um einzelne Länder, sondern um Regionen oder aggregierte Ländergruppen handelt. Da in der weiteren Analyse Länder miteinander verglichen werden, werden diese Gruppen ausgeschlossen.
# Für die weitere Analyse werden nur Beobachtungen mit vorhandenem Ländercode verwendet.
# Dadurch werden Regionen und Ländergruppen ausgeschlossen.
schooling_clean <- schooling_clean %>%
filter(!is.na(code))
# Beide Datensätze vorläufig anhand von Ländercode und Jahr zusammenführen.
# Dadurch bleiben nur Länder-Jahr-Kombinationen erhalten,
# die in beiden Datensätzen vorkommen.
data_overlap <- inner_join(
schooling_clean,
education_spending_clean,
by = c("code", "year")
)
# Anzahl der gemeinsamen Beobachtungen pro Jahr anzeigen
table(data_overlap$year)
##
## 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
## 49 49 53 58 63 72 70 31 69 97 112 103 113 101 111 103
## 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
## 103 104 114 110 132 136 141 146 152 157 155 163 157 157 162 158
## 2022 2023
## 155 112
# Nur die letzten Jahre der gemeinsamen Datenabdeckung anzeigen
tail(table(data_overlap$year), 10)
##
## 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023
## 152 157 155 163 157 157 162 158 155 112
Um ein geeignetes Analysejahr auszuwählen, wurde geprüft, für welche Jahre beide Datensätze gemeinsame Länderbeobachtungen enthalten. Das Jahr 2023 ist zwar das aktuellste Jahr, enthält aber weniger gemeinsame Beobachtungen. Für 2022 liegen deutlich mehr gemeinsame Länderwerte vor. Deshalb wird für die weitere Analyse das Jahr 2022 verwendet.
# Das Jahr 2022 wird ausgewählt, da für dieses Jahr eine breite gemeinsame Datenabdeckung vorliegt.
schooling_2022 <- schooling_clean %>%
filter(year == 2022)
education_spending_2022 <- education_spending_clean %>%
filter(year == 2022)
Für die weitere Analyse werden beide Datensätze auf das Jahr 2022 gefiltert.
# Prüfen, welche Länder aus dem Schuljahre-Datensatz
# nicht im Bildungsausgaben-Datensatz vorkommen.
missing_spending <- anti_join(
schooling_2022,
education_spending_2022,
by = "code"
)
# Prüfen, welche Länder aus dem Bildungsausgaben-Datensatz
# nicht im Schuljahre-Datensatz vorkommen.
missing_schooling <- anti_join(
education_spending_2022,
schooling_2022,
by = "code"
)
# Ergebnisse anzeigen
missing_spending
## # A tibble: 50 × 4
## country code year avg_schooling
## <chr> <chr> <dbl> <dbl>
## 1 Afghanistan AFG 2022 2.51
## 2 Africa OWID_AFR 2022 6.26
## 3 Asia OWID_ASI 2022 7.72
## 4 Botswana BWA 2022 10.5
## 5 Brunei BRN 2022 9.28
## 6 Burundi BDI 2022 3.47
## 7 China CHN 2022 8.04
## 8 Colombia COL 2022 9.03
## 9 Croatia HRV 2022 12.1
## 10 Djibouti DJI 2022 3.95
## # ℹ 40 more rows
missing_schooling
## # A tibble: 11 × 4
## country code year education_spending_gdp
## <chr> <chr> <dbl> <dbl>
## 1 Anguilla AIA 2022 2.50
## 2 Bermuda BMU 2022 1.78
## 3 British Virgin Islands VGB 2022 2.48
## 4 Cayman Islands CYM 2022 1.49
## 5 Curacao CUW 2022 6.08
## 6 Macao MAC 2022 6.06
## 7 Monaco MCO 2022 1.17
## 8 Montserrat MSR 2022 7.72
## 9 Puerto Rico PRI 2022 3.86
## 10 Sint Maarten (Dutch part) SXM 2022 4.27
## 11 Turks and Caicos Islands TCA 2022 2.78
Mit anti_join() wird geprüft, welche Länder jeweils nur
in einem der beiden Datensätze vorkommen. Dadurch wird sichtbar, welche
Beobachtungen beim späteren Zusammenführen nicht berücksichtigt werden
können.
# Beide Datensätze anhand von country, code und year zusammenführen.
# inner_join() behält nur Länder, die in beiden Datensätzen vorkommen.
analysis_data <- inner_join(
schooling_2022,
education_spending_2022,
by = c("country", "code", "year")
)
# Kontrolle des finalen Analysedatensatzes
head(analysis_data)
## # A tibble: 6 × 5
## country code year avg_schooling education_spending_gdp
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 Albania ALB 2022 10.2 2.73
## 2 Algeria DZA 2022 7.42 4.75
## 3 Andorra AND 2022 11.6 2.65
## 4 Angola AGO 2022 5.96 2.39
## 5 Antigua and Barbuda ATG 2022 11.6 2.50
## 6 Argentina ARG 2022 11.2 4.79
glimpse(analysis_data)
## Rows: 155
## Columns: 5
## $ country <chr> "Albania", "Algeria", "Andorra", "Angola", "Ant…
## $ code <chr> "ALB", "DZA", "AND", "AGO", "ATG", "ARG", "ARM"…
## $ year <dbl> 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,…
## $ avg_schooling <dbl> 10.175311, 7.416387, 11.610000, 5.956173, 11.64…
## $ education_spending_gdp <dbl> 2.729780, 4.749247, 2.647280, 2.385359, 2.50368…
dim(analysis_data)
## [1] 155 5
Der finale Analysedatensatz enthält nur Länder, für die im Jahr 2022 sowohl Angaben zu den durchschnittlichen Schuljahren als auch zu den Bildungsausgaben als Anteil am BIP vorliegen. Dieser Datensatz bildet die Grundlage für die weitere deskriptive Analyse und die Korrelationsanalyse.
# Überblick über die beiden zentralen Variablen
summary(analysis_data[, c("avg_schooling", "education_spending_gdp")])
## avg_schooling education_spending_gdp
## Min. : 1.412 Min. : 0.0000072
## 1st Qu.: 6.949 1st Qu.: 3.0085100
## Median :10.103 Median : 4.0677600
## Mean : 9.291 Mean : 4.3162551
## 3rd Qu.:11.707 3rd Qu.: 5.2583250
## Max. :14.296 Max. :14.7860320
Die deskriptive Zusammenfassung zeigt die Verteilung der beiden zentralen Variablen im Analysejahr 2022. Die durchschnittlichen Schuljahre reichen von etwa 1,41 bis 14,30 Jahren. Der Mittelwert liegt bei etwa 9,29 Schuljahren. Bei den Bildungsausgaben reichen die Werte von nahezu 0 % bis etwa 14,79 % des BIP. Der Mittelwert liegt hier bei etwa 4,32 % des BIP. Auffällig ist damit bei beiden Variablen eine große Spannweite zwischen den niedrigsten und höchsten Länderwerten.
# Standardabweichung der beiden zentralen Variablen
sd(analysis_data$avg_schooling, na.rm = TRUE)
## [1] 3.202556
sd(analysis_data$education_spending_gdp, na.rm = TRUE)
## [1] 2.086817
Die Standardabweichung beschreibt, wie stark die Werte typischerweise um den Mittelwert streuen. Bei den durchschnittlichen Schuljahren beträgt sie etwa 3,20 Jahre. Das bedeutet, dass die Länderwerte typischerweise mehrere Schuljahre vom Mittelwert abweichen. Bei den Bildungsausgaben liegt die Standardabweichung bei etwa 2,09 Prozentpunkten des BIP. Auch hier zeigen sich also deutliche Unterschiede zwischen den Ländern.
# Fünf Länder mit den niedrigsten durchschnittlichen Schuljahren
analysis_data %>%
arrange(avg_schooling) %>%
select(country, avg_schooling, education_spending_gdp) %>%
head(5)
## # A tibble: 5 × 3
## country avg_schooling education_spending_gdp
## <chr> <dbl> <dbl>
## 1 Niger 1.41 3.71
## 2 Mali 1.63 4.05
## 3 Somalia 1.9 0.00000722
## 4 Burkina Faso 2.27 5.29
## 5 Chad 2.33 2.60
# Fünf Länder mit den höchsten durchschnittlichen Schuljahren
analysis_data %>%
arrange(desc(avg_schooling)) %>%
select(country, avg_schooling, education_spending_gdp) %>%
head(5)
## # A tibble: 5 × 3
## country avg_schooling education_spending_gdp
## <chr> <dbl> <dbl>
## 1 Germany 14.3 5.24
## 2 Switzerland 13.9 4.86
## 3 Iceland 13.9 7.31
## 4 Canada 13.9 4.84
## 5 Lithuania 13.6 4.25
Die niedrigsten durchschnittlichen Schuljahre finden sich 2022 unter anderem in Niger, Mali, Somalia, Burkina Faso und Tschad. Die höchsten Werte erreichen Deutschland, die Schweiz, Island, Kanada und Litauen. Die Spannweite ist sehr groß: Während Niger bei etwa 1,41 durchschnittlichen Schuljahren liegt, erreicht Deutschland etwa 14,30 Jahre.
# Fünf Länder mit den niedrigsten Bildungsausgaben als Anteil am BIP
analysis_data %>%
arrange(education_spending_gdp) %>%
select(country, education_spending_gdp, avg_schooling) %>%
head(5)
## # A tibble: 5 × 3
## country education_spending_gdp avg_schooling
## <chr> <dbl> <dbl>
## 1 Somalia 0.00000722 1.9
## 2 Nigeria 0.349 7.59
## 3 Papua New Guinea 0.643 4.96
## 4 Indonesia 0.864 8.70
## 5 Haiti 1.03 5.38
# Fünf Länder mit den höchsten Bildungsausgaben als Anteil am BIP
analysis_data %>%
arrange(desc(education_spending_gdp)) %>%
select(country, education_spending_gdp, avg_schooling) %>%
head(5)
## # A tibble: 5 × 3
## country education_spending_gdp avg_schooling
## <chr> <dbl> <dbl>
## 1 Kiribati 14.8 9.13
## 2 Tuvalu 13.8 10.8
## 3 Vanuatu 10.7 7.18
## 4 Namibia 9.39 7.27
## 5 Solomon Islands 8.49 5.88
Bei den Bildungsausgaben als Anteil am BIP liegt Somalia mit einem extrem niedrigen Wert deutlich am unteren Ende. Die höchsten Anteile weisen unter anderem Kiribati, Tuvalu, Vanuatu, Namibia und die Salomonen auf. Auffällig ist, dass hohe Bildungsausgaben als Anteil am BIP nicht automatisch mit den höchsten durchschnittlichen Schuljahren einhergehen. Das deutet bereits darauf hin, dass der Zusammenhang nicht eindeutig oder stark linear sein muss.
# Histogramm der durchschnittlichen Schuljahre
hist(
analysis_data$avg_schooling,
main = "Verteilung der durchschnittlichen Schuljahre 2022",
xlab = "Durchschnittliche Schuljahre",
ylab = "Anzahl der Länder"
)
Das Histogramm zeigt die Verteilung der durchschnittlichen Schuljahre im Jahr 2022. Viele Länder liegen im Bereich zwischen ungefähr 10 und 14 Schuljahren. Gleichzeitig gibt es eine kleinere Gruppe von Ländern mit deutlich niedrigeren Werten unter etwa 5 Schuljahren. Sehr hohe Werte oberhalb von 14 Schuljahren kommen seltener vor. Insgesamt zeigt die Verteilung, dass die durchschnittliche Bildungsdauer zwischen den Ländern deutlich variiert.
# Histogramm der Bildungsausgaben
hist(
analysis_data$education_spending_gdp,
main = "Verteilung der Bildungsausgaben 2022",
xlab = "Bildungsausgaben in % des BIP",
ylab = "Anzahl der Länder"
)
Das Histogramm der Bildungsausgaben zeigt, dass viele Länder im unteren bis mittleren Bereich liegen. Besonders häufig kommen Werte zwischen etwa 2 % und 6 % des BIP vor. Nur wenige Länder weisen deutlich höhere Werte auf. Dadurch wirkt die Verteilung rechtsschief: Die meisten Werte liegen im niedrigeren Bereich, während einige hohe Werte die Verteilung nach rechts verlängern.
# Scatterplot mit Regressionslinie
ggplot(analysis_data, aes(x = education_spending_gdp, y = avg_schooling)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(
title = "Zusammenhang zwischen Bildungsausgaben und durchschnittlichen Schuljahren",
x = "Bildungsausgaben (% des BIP)",
y = "Durchschnittliche Schuljahre"
)
## `geom_smooth()` using formula = 'y ~ x'
Der Scatterplot zeigt einen leicht positiven Zusammenhang zwischen Bildungsausgaben und durchschnittlichen Schuljahren. Die Punkte streuen jedoch deutlich, sodass kein starker linearer Zusammenhang erkennbar ist. Einige Länder weisen hohe Bildungsausgaben als Anteil am BIP auf, ohne gleichzeitig die höchsten durchschnittlichen Schuljahre zu erreichen.
# QQ-Plot: Bildungsausgaben
qqnorm(
analysis_data$education_spending_gdp,
main = "QQ-Plot: Bildungsausgaben (% des BIP)"
)
qqline(analysis_data$education_spending_gdp, col = "red")
# QQ-Plot: Durchschnittliche Schuljahre
qqnorm(
analysis_data$avg_schooling,
main = "QQ-Plot: Durchschnittliche Schuljahre"
)
qqline(analysis_data$avg_schooling, col = "red")
Die QQ-Plots zeigen, dass die Punkte nicht vollständig entlang der Linie liegen. Besonders bei den Bildungsausgaben sind deutliche Abweichungen sichtbar. Das spricht gegen eine klare Normalverteilung der Variablen.
# Shapiro-Wilk-Test auf Normalverteilung
shapiro.test(analysis_data$education_spending_gdp)
##
## Shapiro-Wilk normality test
##
## data: analysis_data$education_spending_gdp
## W = 0.89772, p-value = 0.000000006419
shapiro.test(analysis_data$avg_schooling)
##
## Shapiro-Wilk normality test
##
## data: analysis_data$avg_schooling
## W = 0.94173, p-value = 0.000005155
Für beide Variablen ergibt der Shapiro-Wilk-Test einen p-Wert unter 0,05. Damit wird die Annahme einer Normalverteilung jeweils verworfen. Sowohl die Bildungsausgaben als auch die durchschnittlichen Schuljahre weichen statistisch signifikant von einer Normalverteilung ab.
# Boxplot der Bildungsausgaben
boxplot(
analysis_data$education_spending_gdp,
main = "Boxplot: Bildungsausgaben (% des BIP)",
ylab = "Bildungsausgaben (% des BIP)",
col = "lightgray"
)
# Ausreißerwerte anzeigen
boxplot.stats(analysis_data$education_spending_gdp)$out
## [1] 14.786032 9.391947 13.762191 10.703345
# Boxplot der durchschnittlichen Schuljahre
boxplot(
analysis_data$avg_schooling,
main = "Boxplot: Durchschnittliche Schuljahre",
ylab = "Durchschnittliche Schuljahre",
col = "lightgray"
)
# Ausreißerwerte anzeigen
boxplot.stats(analysis_data$avg_schooling)$out
## numeric(0)
Der Boxplot der Bildungsausgaben zeigt mehrere Ausreißer nach oben. Dazu gehören Länder mit besonders hohen Bildungsausgaben als Anteil am BIP. Beim Boxplot der durchschnittlichen Schuljahre zeigen sich dagegen keine starken Ausreißer. Da Pearson empfindlich auf Ausreißer reagiert, spricht auch dieser Punkt dafür, die Spearman-Korrelation stärker zu berücksichtigen.
# Pearson-Korrelation
cor.test(
analysis_data$education_spending_gdp,
analysis_data$avg_schooling,
method = "pearson"
)
##
## Pearson's product-moment correlation
##
## data: analysis_data$education_spending_gdp and analysis_data$avg_schooling
## t = 2.8983, df = 153, p-value = 0.004304
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.07311377 0.37238791
## sample estimates:
## cor
## 0.2281325
Die Pearson-Korrelation ergibt einen Korrelationskoeffizienten von r = 0,23 bei einem p-Wert von p = 0,004. Damit zeigt sich ein schwacher positiver und statistisch signifikanter linearer Zusammenhang zwischen Bildungsausgaben und durchschnittlichen Schuljahren. Da die Normalverteilungsannahme nicht erfüllt ist und bei den Bildungsausgaben Ausreißer sichtbar sind, wird die Pearson-Korrelation jedoch nur ergänzend betrachtet.
# Spearman-Korrelation
cor.test(
analysis_data$education_spending_gdp,
analysis_data$avg_schooling,
method = "spearman",
exact = FALSE
)
##
## Spearman's rank correlation rho
##
## data: analysis_data$education_spending_gdp and analysis_data$avg_schooling
## S = 427449, p-value = 0.00008077
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.3112551
Da die Voraussetzungen für die Pearson-Korrelation nicht vollständig erfüllt sind, wird zusätzlich die Spearman-Korrelation berechnet. Diese ergibt einen Korrelationskoeffizienten von ρ = 0,31 bei einem p-Wert unter 0,001. Damit zeigt sich ein positiver und statistisch signifikanter Zusammenhang. Inhaltlich bedeutet das, dass Länder mit höheren Bildungsausgaben als Anteil am BIP tendenziell auch höhere durchschnittliche Schuljahre aufweisen. Der Zusammenhang ist jedoch eher schwach bis moderat.
Insgesamt zeigt sich ein statistisch signifikanter positiver Zusammenhang zwischen staatlichen Bildungsausgaben als Anteil am BIP und den durchschnittlichen Schuljahren von Erwachsenen. Die Hypothese wird damit vorsichtig unterstützt. Da die Zusammenhangsstärke aber nur schwach bis moderat ausfällt, erklären Bildungsausgaben allein die Unterschiede in den durchschnittlichen Schuljahren nicht vollständig.
Aus der Korrelation kann keine Kausalität abgeleitet werden. Es kann also nicht geschlossen werden, dass höhere Bildungsausgaben direkt zu mehr durchschnittlichen Schuljahren führen. Durchschnittliche Schuljahre hängen vermutlich mit vielen weiteren Faktoren zusammen.