Forschungsfrage:
Gibt es in Europa einen Zusammenhang zwischen der Anzahl an Personen mit ausgeprägten digitalen Kompetenzen und der Anzahl an Personen, die Online-Lernaktivitäten nutzen?
Hypothese:
In Ländern, in denen die Bevölkerung ausgeprägtere digitale
Kompetenzen aufweist zeigt sich auch eine höhere
Online-Lernaktivität.
Je höher die digitalen Kompetenzen der Bevölkerung, desto höher deren
Online-Lernaktivitäten.
Hinweis:
Ausgeprägte digitale Kompetenzen bedeuten mehr als grundlegende
allgemeine digitale Fähigkeiten.
Online-Lernaktivitäten beinhalten die Nutzung von Online-Kursen
und/oder Online-Lernmaterial.
Digitale Kompetenzen in Europa (2021 & 2023)
Eurostat - Individuals’ level of digital skills
Online-Lernaktivitäten in Europa (2020 - 2024)
Eurostat - Individuals’ internet activities
library(tidyverse)
## Warning: Paket 'tidyverse' wurde unter R Version 4.5.1 erstellt
## Warning: Paket 'ggplot2' wurde unter R Version 4.5.1 erstellt
## Warning: Paket 'tidyr' wurde unter R Version 4.5.1 erstellt
## Warning: Paket 'purrr' wurde unter R Version 4.5.1 erstellt
## Warning: Paket 'forcats' wurde unter R Version 4.5.1 erstellt
## Warning: Paket 'lubridate' wurde unter R Version 4.5.1 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.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── 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
Die CSV-Dateien enthalten keine überflüssigen Kopfzeilen und keine besonderen Trennzeichen, daher read.csv statt read.csv2 oder read_delim
# Datensatz zu digitalen Kompetenzen einlesen
digitalskills <- read.csv("eurostat_digitalskills_filtered.csv")
# Datensatz zu Online-Leraktivitäten einlesen
onlinelearning <- read.csv("eurostat_onlinelearning_filtered.csv")
Struktur und erste Übersicht der Datensätze:
str(digitalskills)
## 'data.frame': 74 obs. of 21 variables:
## $ STRUCTURE : chr "dataflow" "dataflow" "dataflow" "dataflow" ...
## $ STRUCTURE_ID : chr "ESTAT:ISOC_SK_DSKL_I21(1.0)" "ESTAT:ISOC_SK_DSKL_I21(1.0)" "ESTAT:ISOC_SK_DSKL_I21(1.0)" "ESTAT:ISOC_SK_DSKL_I21(1.0)" ...
## $ STRUCTURE_NAME : chr "Individuals' level of digital skills (from 2021 onwards)" "Individuals' level of digital skills (from 2021 onwards)" "Individuals' level of digital skills (from 2021 onwards)" "Individuals' level of digital skills (from 2021 onwards)" ...
## $ freq : chr "A" "A" "A" "A" ...
## $ Time.frequency : chr "Annual" "Annual" "Annual" "Annual" ...
## $ ind_type : chr "IND_TOTAL" "IND_TOTAL" "IND_TOTAL" "IND_TOTAL" ...
## $ Individual.type : chr "All individuals" "All individuals" "All individuals" "All individuals" ...
## $ indic_is : chr "I_DSK2_AB" "I_DSK2_AB" "I_DSK2_AB" "I_DSK2_AB" ...
## $ Information.society.indicator : chr "Individuals with above basic overall digital skills (all five component indicators are at above basic level)" "Individuals with above basic overall digital skills (all five component indicators are at above basic level)" "Individuals with above basic overall digital skills (all five component indicators are at above basic level)" "Individuals with above basic overall digital skills (all five component indicators are at above basic level)" ...
## $ unit : chr "PC_IND" "PC_IND" "PC_IND" "PC_IND" ...
## $ Unit.of.measure : chr "Percentage of individuals" "Percentage of individuals" "Percentage of individuals" "Percentage of individuals" ...
## $ geo : chr "AL" "AL" "AT" "AT" ...
## $ Geopolitical.entity..reporting. : chr "Albania" "Albania" "Austria" "Austria" ...
## $ TIME_PERIOD : int 2021 2023 2021 2023 2021 2023 2021 2023 2021 2023 ...
## $ Time : logi NA NA NA NA NA NA ...
## $ OBS_VALUE : num 4.01 7.77 33.28 32.04 5.35 ...
## $ Observation.value : logi NA NA NA NA NA NA ...
## $ OBS_FLAG : logi NA NA NA NA NA NA ...
## $ Observation.status..Flag..V2.structure: logi NA NA NA NA NA NA ...
## $ CONF_STATUS : logi NA NA NA NA NA NA ...
## $ Confidentiality.status..flag. : logi NA NA NA NA NA NA ...
str(onlinelearning)
## 'data.frame': 182 obs. of 21 variables:
## $ STRUCTURE : chr "dataflow" "dataflow" "dataflow" "dataflow" ...
## $ STRUCTURE_ID : chr "ESTAT:ISOC_CI_AC_I(1.0)" "ESTAT:ISOC_CI_AC_I(1.0)" "ESTAT:ISOC_CI_AC_I(1.0)" "ESTAT:ISOC_CI_AC_I(1.0)" ...
## $ STRUCTURE_NAME : chr "Individuals - internet activities" "Individuals - internet activities" "Individuals - internet activities" "Individuals - internet activities" ...
## $ freq : chr "A" "A" "A" "A" ...
## $ Time.frequency : chr "Annual" "Annual" "Annual" "Annual" ...
## $ indic_is : chr "I_IUOLANY" "I_IUOLANY" "I_IUOLANY" "I_IUOLANY" ...
## $ Information.society.indicator : chr "Internet use: doing an online course (of any subject) or using online learning material" "Internet use: doing an online course (of any subject) or using online learning material" "Internet use: doing an online course (of any subject) or using online learning material" "Internet use: doing an online course (of any subject) or using online learning material" ...
## $ unit : chr "PC_IND" "PC_IND" "PC_IND" "PC_IND" ...
## $ Unit.of.measure : chr "Percentage of individuals" "Percentage of individuals" "Percentage of individuals" "Percentage of individuals" ...
## $ ind_type : chr "IND_TOTAL" "IND_TOTAL" "IND_TOTAL" "IND_TOTAL" ...
## $ Individual.type : chr "All individuals" "All individuals" "All individuals" "All individuals" ...
## $ geo : chr "AL" "AL" "AL" "AL" ...
## $ Geopolitical.entity..reporting. : chr "Albania" "Albania" "Albania" "Albania" ...
## $ TIME_PERIOD : int 2020 2021 2022 2023 2024 2020 2021 2022 2023 2024 ...
## $ Time : logi NA NA NA NA NA NA ...
## $ OBS_VALUE : num 28.77 9.73 11.05 13.37 14.83 ...
## $ Observation.value : logi NA NA NA NA NA NA ...
## $ OBS_FLAG : chr "" "" "" "" ...
## $ Observation.status..Flag..V2.structure: chr "" "" "" "" ...
## $ CONF_STATUS : logi NA NA NA NA NA NA ...
## $ Confidentiality.status..flag. : logi NA NA NA NA NA NA ...
Es wird ein neuer Datensatz erstellt, aus dem die überflüssigen Spalten entfernt und die notwendigen Spalten umbenannt werden. Hier wird auch bereits nach dem zu betrachtenden Jahr (2023) gefiltert.
digitalskills_2023 <- digitalskills %>%
select("Geopolitical.entity..reporting.", "TIME_PERIOD", "OBS_VALUE") %>%
rename(country = "Geopolitical.entity..reporting.", year = "TIME_PERIOD", skills_score = "OBS_VALUE") %>%
filter(year == 2023)
Die Spalte “skills_score” gibt den Anteil der Bevölkerung des Landes an, die im ausgewählten Jahr über mehr als grundlegende allgemeine digitale Fähigkeiten verfügt (Individuals with above basic overall digital skills - all five component indicators are at above basic level):
• Information and data literacy skills
• Communication and collaboration skills
• Digital Content creation skills
• Safety skills
• Problem solving skills
Kurz das Zwischenergebnis prüfen:
head(digitalskills_2023)
## country year skills_score
## 1 Albania 2023 7.77
## 2 Austria 2023 32.04
## 3 Bosnia and Herzegovina 2023 6.88
## 4 Belgium 2023 28.26
## 5 Bulgaria 2023 7.73
## 6 Switzerland 2023 42.69
Dieselbe Bereinigung für den zweiten Datensatz:
onlinelearning_2023 <- onlinelearning %>%
select("Geopolitical.entity..reporting.", "TIME_PERIOD", "OBS_VALUE") %>%
rename(country = "Geopolitical.entity..reporting.", year = "TIME_PERIOD", learning_score = "OBS_VALUE") %>%
filter(year == 2023)
Kurz das Zwischenergebnis prüfen:
head(onlinelearning_2023)
## country year learning_score
## 1 Albania 2023 13.37
## 2 Austria 2023 26.77
## 3 Bosnia and Herzegovina 2023 21.33
## 4 Belgium 2023 30.62
## 5 Bulgaria 2023 13.46
## 6 Switzerland 2023 36.46
Die beiden Datensätze stammen von der selben Quelle, weshalb die Spaltennamen und Erhebungsbedingungen übereinstimmen. Ein Datenabgleich mit inner_join oder anti_join ist nicht zwingend notwendig, da die Datensätze mit 36 Zeilen überschaubar sind.
data_2023 <- inner_join(digitalskills_2023, onlinelearning_2023, by = "country") %>%
select("country", "skills_score", "learning_score")
Den zusammengeführten Datensatz prüfen:
head(data_2023)
## country skills_score learning_score
## 1 Albania 7.77 13.37
## 2 Austria 32.04 26.77
## 3 Bosnia and Herzegovina 6.88 21.33
## 4 Belgium 28.26 30.62
## 5 Bulgaria 7.73 13.46
## 6 Switzerland 42.69 36.46
Der zusammengeführte Datensatz zeigt nun die prozentualen Anteile der Bevölkerung in den europäischen Ländern, die im Jahr 2023 ausgeprägtere digitale Kompetenzen aufweisen sowie die jeweiligen prozentualen Anteile, die Online-Lernaktivitäten nutzen.
Zum Beispiel:Einen ersten Überblick verschaffen:
summary(data_2023)
## country skills_score learning_score
## Length:36 Min. : 6.88 Min. : 9.19
## Class :character 1st Qu.:19.56 1st Qu.:21.01
## Mode :character Median :27.59 Median :27.43
## Mean :27.19 Mean :28.99
## 3rd Qu.:35.74 3rd Qu.:37.24
## Max. :54.53 Max. :53.68
Standardabweichung:
sd(data_2023$skills_score)
## [1] 12.94329
sd(data_2023$learning_score)
## [1] 11.92936
Histogramme zur visuellen Prüfung der Verteilung:
hist(data_2023$skills_score, col="lightblue", main="Verteilung der digitalen Kompetenzen", xlab="skills_score")
hist(data_2023$learning_score, col="lightblue", main="Verteilung der Online-Lernaktivitäten", xlab="learning_score")
Die Top 5-Länder mit ausgeprägten und niedrigen digitalen Kompetenzen:
data_2023 %>% arrange(desc(skills_score)) %>% select(country, skills_score) %>% head(5)
## country skills_score
## 1 Netherlands 54.53
## 2 Finland 53.63
## 3 Norway 50.71
## 4 Ireland 43.82
## 5 Switzerland 42.69
data_2023 %>% arrange(skills_score) %>% select(country, skills_score) %>% head(5)
## country skills_score
## 1 Bosnia and Herzegovina 6.88
## 2 Bulgaria 7.73
## 3 Albania 7.77
## 4 Romania 8.97
## 5 Montenegro 10.55
Die Top 5-Länder mit hohen und niedrigen Online-Lernaktivitäten:
data_2023 %>% arrange(desc(learning_score)) %>% select(country, learning_score) %>% head(5)
## country learning_score
## 1 Netherlands 53.68
## 2 Finland 51.75
## 3 Sweden 46.81
## 4 Norway 46.47
## 5 Spain 45.16
data_2023 %>% arrange(learning_score) %>% select(country, learning_score) %>% head(5)
## country learning_score
## 1 Romania 9.19
## 2 Türkiye 11.36
## 3 Albania 13.37
## 4 Bulgaria 13.46
## 5 Greece 14.06
Bei den Online-Lernaktivitäten zeigt sich eine etwas andere
Verteilung, jedoch sind auch hier die skandinavischen Länder auf den
ersten Plätzen zu finden. Spanien sticht auf Platz 5 heraus, was aber
wenig überraschend ist. Dagegen hätte ich Griechenland nicht auf einem
so niedrigen Platz erwartet.
Die Auflistungen deuten bereits auf einen Zusammenhang zwischen den
beiden Variablen hin.
Die lineare Beziehung mit einem Streudiagramm prüfen:
ggplot(data_2023, aes(x = skills_score, y = learning_score)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(
title = "Zusammenhang: Digitale Kompetenzen und Online-Lernaktivitäten",
x = "Digitale Kompetenzen in %",
y = "Online-Lernaktivitäten in %"
)
## `geom_smooth()` using formula = 'y ~ x'
Die Normalverteilung der beiden Variablen mit einem QQ-Plot prüfen:
qqnorm(data_2023$skills_score, main="QQ-Plot: Digitale Kompetenzen"); qqline(data_2023$skills_score, col="red")
qqnorm(data_2023$learning_score, main="QQ-Plot: Online-Lernaktivitäten"); qqline(data_2023$learning_score, col="red")
Shapiro-Wilk-Test mit beiden Variablen durchführen:
shapiro.test(data_2023$skills_score)
##
## Shapiro-Wilk normality test
##
## data: data_2023$skills_score
## W = 0.96522, p-value = 0.3097
shapiro.test(data_2023$learning_score)
##
## Shapiro-Wilk normality test
##
## data: data_2023$learning_score
## W = 0.96173, p-value = 0.243
Zur Erkennung von Ausreißern und Quartilen:
boxplot(data_2023$skills_score, data_2023$learning_score,
names = c("skills_score", "learning_score"),
col = c("lightblue", "lightgreen"),
main = "Boxplots im Vergleich",
ylab = "Prozent")
Zur Sicherheit / Zum Verständnis nochmal prüfen:
boxplot.stats(data_2023$skills_score)$out
## numeric(0)
boxplot.stats(data_2023$learning_score)$out
## numeric(0)
cor.test(data_2023$skills_score, data_2023$learning_score, method="pearson")
##
## Pearson's product-moment correlation
##
## data: data_2023$skills_score and data_2023$learning_score
## t = 9.791, df = 34, p-value = 1.998e-11
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.7393369 0.9262589
## sample estimates:
## cor
## 0.8591792
Die Pearson-Korrelation ergibt einen Korrelationskoeffizienten
r = 0,86 und p = 0,00000000001998
(also extrem klein, p > 0.05).
• Das bedeutet es besteht ein starker positiver Zusammenhang, der hoch
signifikant, d.h. kein Zufall ist
• Mit 95% Sicherheit (Konfidenzintervall) kann gesagt werden, dass die
Korrelation zwischen 0,739 und 0,926 liegt
• Der t-Wert ist mit 9,791 ebenfalls hoch, was darauf deutet, dass der
Zusammenhang statistisch bedeutsam ist
Je mehr Online-Lernaktivität, desto mehr digitale Kompetenz?
Residuen berechnen:
modell <- lm(skills_score ~ learning_score, data = data_2023)
residuen <- residuals(modell)
plot(data_2023$learning_score, residuen, col="lightblue",
main="Residuen vs. Online-Lernaktivitäten", xlab="learning_score", ylab="Residuen", pch=19)
abline(h=0, col="red", lwd=2, lty=2)
Normalverteilung der Residuen:
qqnorm(residuen, main="QQ-Plot der Residuen", pch=19, col="lightblue")
qqline(residuen, col="red", lwd=2)
Shapiro-Wilk-Test zur Überprüfung:
shapiro.test(residuen)
##
## Shapiro-Wilk normality test
##
## data: residuen
## W = 0.96683, p-value = 0.3453
Boxplot der Residuen:
boxplot(residuen, main="Boxplot der Residuen", col="lightblue", horizontal=TRUE)
Regressionsmodell:
modell <- lm(skills_score ~ learning_score, data = data_2023)
summary(modell)
##
## Call:
## lm(formula = skills_score ~ learning_score, data = data_2023)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.1745 -4.3197 0.2236 5.5486 11.3191
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.17054 2.97853 0.057 0.955
## learning_score 0.93220 0.09521 9.791 2e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.719 on 34 degrees of freedom
## Multiple R-squared: 0.7382, Adjusted R-squared: 0.7305
## F-statistic: 95.86 on 1 and 34 DF, p-value: 1.998e-11
Ein Anstieg der Online-Lernaktivität um 1%-Punkt geht mit einem durchschnittlichen Anstieg der digitalen Kompetenzen um 0,93%-Punkte (Schätzwert - Estimate) einher. Der hohe t-Wert von 9,791 und der sehr geringe p-Wert (< 0,001) zeigen, dass der Zusammenhang hoch signifikant ist.
Güte des Modells:
R² (Bestimmtheitsmaß) = 0,7382, also 73,82% der Schwankungen in den
digitalen Kompetenzen werden durch die Variable learning_score erklärt.
Adjustet R² = 0,7305, also sehr ähnlich zu R², bedeutet das Modell ist
gut.
Ergebnis:
Das Modell erklärt ca. 73% der Varianz bei den digitalen Kompetenzen und
ist ein sehr gutes Modell, jedoch nicht perfekt (R² ≠ 1).
Es besteht 2023 in Europa ein statistisch hoch siginifikanter Zusammenhang zwischen der Anzahl an Personen mit ausgeprägten digitalen Kompetenzen und der Anzahl an Personen, die Online-Lernaktivitäten nutzen. Die Hypothese kann somit bestätigt werden: Je höher die digitalen Kompetenzen der Bevölkerung, desto höher deren Online-Lernaktivitäten.
Weitere Einflussfaktoren wie die digitale Infrastruktur der Länder, das allgemeine Bildungsniveau oder staatliche Förderprogramme wurden hier jedoch nicht einbezogen, könnten aber für eine weitere Analyse relevant sein.
Stand: 20.07.2025