1 Forschungsfrage und Hypothese

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.

2 Datengrundlage

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.

3 Datenorganisation & Datenaufbereitung

3.1 Daten einlesen

# 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.

3.2 Daten explorieren

# 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.

3.3 Daten bereinigen & transformieren

# 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.

4 Datenanalyse & Visualisierung

4.1 Deskriptive Analyse

# Ü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.

4.2 Visualisierung

# 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.

5 Korrelationsanalyse

5.1 Lineare Beziehung prüfen

# 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.

5.2 Normalverteilung prüfen

# 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.

5.3 Ausreißer prüfen

# 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.

5.4 Pearson-Korrelation

# 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.

5.5 Spearman-Korrelation

# 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.

6 Fazit

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.