In dieser explorativen Analyse wird ein Datensatz zur globalen Alphabetisierung untersucht. Der Datensatz enthält Werte zum Anteil der alphabetisierten und analphabetischen Weltbevölkerung von 1820 bis 2023.
Quelle des Datensatzes: Literate and illiterate world population (UNESCO, 1957)
Zunächst werden die benötigten Pakete geladen.
# install.packages("tidyr")
library(readr)
library(readr)
library(dplyr)
library(tidyr)
library(ggplot2)
Anschließend wird der Datensatz in R eingelesen.
data <- read.csv("/Users/yannicksturm/Desktop/PH Heidelberg/Masterstudium E-Learning und Medienbildung/Modul 8/813 MA Elmeb - Data Science in Education/Übungen mit R Studio/0_Datenprojekt/literate-and-illiterate-world-population.csv")
Die ersten Zeilen des Datensatzes lassen sich über folgenden Code anzeigen.
head(data)
## Entity Code Year Illiterate Literate
## 1 World OWID_WRL 1820 87.95331 12.04669
## 2 World OWID_WRL 1870 81.25944 18.74056
## 3 World OWID_WRL 1880 80.37154 19.62846
## 4 World OWID_WRL 1890 79.48364 20.51636
## 5 World OWID_WRL 1900 78.59574 21.40426
## 6 World OWID_WRL 1910 73.55440 26.44560
Im nächsten Schritt schauen wir uns die Struktur der Daten (u.a. Spaltennamen und Datentypen) an.
str(data)
## 'data.frame': 59 obs. of 5 variables:
## $ Entity : chr "World" "World" "World" "World" ...
## $ Code : chr "OWID_WRL" "OWID_WRL" "OWID_WRL" "OWID_WRL" ...
## $ Year : int 1820 1870 1880 1890 1900 1910 1920 1930 1940 1950 ...
## $ Illiterate: num 88 81.3 80.4 79.5 78.6 ...
## $ Literate : num 12 18.7 19.6 20.5 21.4 ...
Interessant ist, 1. dass es nur eine Einheit bzw. Code (World bzw. OWID_WRL) gibt. Das ist allerdings nicht verwunderlich, weil wir uns bei diesem Datensatz die weltweite Alphabetisierungs- bzw. analphabetisierungsrate ansehen. 2. dass die beiden Variablen Illiterate und Literate, welche die prozentualen Anteile der analphabetischen und der alphabetiserten Weltbevölkerung angeben, jeweils zusammen 100 % ergeben müssten. Dies kann mit folgendem Code überprüft werden:
data$sum_check <- data$Illiterate + data$Literate
summary(data$sum_check)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 100 100 100 100 100 100
head(data$sum_check)
## [1] 100 100 100 100 100 100
Zur Vereinfachung des Datensatzes können die Spalten WORLD und OWID_WRL gelöscht werden.
data$Entity <- NULL
data$Code <- NULL
new_data <- na.omit(data)
Nach der Datenexploration und -bereinigung lassen wir uns die Eckdaten der deskriptiven Statistik anzeigen.
summary(new_data)
## Year Illiterate Literate sum_check
## Min. :1820 Min. :12.64 Min. :12.05 Min. :100
## 1st Qu.:1980 1st Qu.:16.50 1st Qu.:67.54 1st Qu.:100
## Median :1994 Median :23.50 Median :76.50 Median :100
## Mean :1982 Mean :30.94 Mean :69.06 Mean :100
## 3rd Qu.:2008 3rd Qu.:32.46 3rd Qu.:83.50 3rd Qu.:100
## Max. :2023 Max. :87.95 Max. :87.36 Max. :100
Interessant ist, dass die Daten bis ins 19. Jahrhundert zurückgehen und bis in die 2020er reichen (siehe Min. und Max. der Variable Year).
Die zeitliche Entwicklung der Alphabetisierung lässt sich mit einem Liniendiagramm darstellen.
plot(data$Year, data$Illiterate, type="l", col="red", xlab="Jahr", ylab="Anteil (%)", main="Weltweite Alphabetisierung im Zeitverlauf")
lines(data$Year, data$Literate, col="blue")
legend("topright",
legend=c("Illiterate", "Literate"),
col=c("red", "blue"),
lty=1)