Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

R-Datenanalyse mit tidyverse: Praktische Übungen zu Regression und Korrelation am Beispiel von Länderdaten (2026)

Lerne in diesem Tutorial, wie du mit R und tidyverse Länderdaten analysierst: Fünf-Zahlen- Zusammenfassung, Histogramme, t-Tests, lineare Regression und Korrelation – verständlich erklärt mit Beispielen aus der globalen Entwicklung.

R Datenanalyse Tutorial tidyverse lernen Regression R Korrelation R t-Test R Länderdatenanalyse Säuglingssterblichkeit R Lebenserwartung Demokratie lineare Regression Beispiel Ausreißer erkennen R Statistik mit R Datenvisualisierung ggplot2 Weltbank Daten R Sozialforschung R Data Science für Anfänger R Programmierung Übungen

Einführung in die Datenanalyse mit R und tidyverse

Die statistische Programmiersprache R ist ein unverzichtbares Werkzeug für Datenwissenschaftler und Sozialforscher. Mit Paketen wie tidyverse wird die Datenanalyse nicht nur effizienter, sondern auch lesbarer. In diesem Tutorial arbeiten wir mit einem Datensatz, der Länderdaten der Weltbank enthält – ähnlich wie in vielen aktuellen Studien zur globalen Ungleichheit. Du lernst, wie du zentrale Kennzahlen berechnest, Verteilungen visualisierst und Zusammenhänge mit Regression und Korrelation untersuchst.

Warum R und tidyverse?

R ist besonders in der akademischen Forschung und bei Datenjournalisten beliebt. Der tidyverse-Ansatz von Hadley Wickham erleichtert das Lesen und Schreiben von Code. Statt verschachtelter Funktionen verwendest du den Pipe-Operator %>%, der die Schritte einer Analyse logisch verknüpft. Stell dir vor, du bereitest einen Social-Media-Report vor: Du filterst Daten, gruppierst sie und berechnest Metriken – alles in einer klaren Kette.

Fünf-Zahlen-Zusammenfassung und Histogramm der Säuglingssterblichkeit

Die Variable infmort gibt die Säuglingssterblichkeit pro 1.000 Geburten an. Mit summary(df$infmort) erhältst du Minimum, 1. Quartil, Median, Mittelwert, 3. Quartil und Maximum. Der Median ist robuster gegenüber Ausreißern als der Mittelwert. In vielen Entwicklungsländern liegt die Säuglingssterblichkeit deutlich höher, was die Verteilung rechtsschief macht.

# Fünf-Zahlen-Zusammenfassung
summary(df$infmort)

# Histogramm
ggplot(df, aes(infmort)) + geom_histogram(bins=30, fill='steelblue', color='white')

Das Histogramm zeigt oft eine rechtsschiefe Verteilung: Viele Länder haben niedrige Werte, einige wenige sehr hohe. Das ist typisch für Gesundheitsindikatoren. Dein Freund, der eine symmetrische Glockenkurve erwartet, verwechselt die Zentralwert-Grenzwertsatz-Idee: Dieser gilt für die Verteilung von Stichprobenmittelwerten, nicht für die Rohdaten einer Population.

Mittelwertsvergleich: Demokratie und Lebenserwartung

Du vermutest, dass Demokratien eine höhere Lebenserwartung haben. Mit einem t-Test prüfst du, ob der Unterschied statistisch signifikant ist. Der Code:

t.test(lifeexp ~ democ, data = df)

Das Ergebnis zeigt die Differenz der Mittelwerte. Ist der p-Wert kleiner als 0,05, gilt der Unterschied als signifikant. Inhaltlich bedeutet ein positiver Unterschied, dass Demokratien im Durchschnitt eine um mehrere Jahre höhere Lebenserwartung haben – ein starkes Argument für den Zusammenhang zwischen politischen Institutionen und Wohlbefinden.

Anschließend führst du eine lineare Regression durch: m <- lm(lifeexp ~ democ, data = df). Der Koeffizient für democ entspricht genau der Mittelwertsdifferenz. Die Regression liefert zusätzlich das Bestimmtheitsmaß R² und den Standardfehler. Beide Methoden sollten übereinstimmen.

Einfache lineare Regressionen mit vier Prädiktoren

Du untersuchst den Einfluss von primeduc, urbpop, smoke und pop auf die Lebenserwartung. Für jede Variable erstellst du ein Streudiagramm mit Regressionsgerade:

ggplot(df, aes(primeduc, lifeexp)) + geom_point() + geom_smooth(method='lm')
ggplot(df, aes(urbpop, lifeexp)) + geom_point() + geom_smooth(method='lm')
ggplot(df, aes(smoke, lifeexp)) + geom_point() + geom_smooth(method='lm')
ggplot(df, aes(pop, lifeexp)) + geom_point() + geom_smooth(method='lm')

Beurteile für jede Grafik: (i) die Richtung des Zusammenhangs (positiv/negativ), (ii) die Stärke (steile Gerade vs. flach) und (iii) ob lineare Regression angemessen ist. Beispielsweise zeigt primeduc oft einen negativen Zusammenhang: Je höher der Anteil der Personen mit nur primärer Bildung, desto niedriger die Lebenserwartung. Bei pop ist der Zusammenhang meist sehr schwach und nicht linear, da die Bevölkerungsgröße allein wenig erklärt.

Ausreißer in der Beziehung zwischen Getreideanbau und BIP

Du erstellst ein Streudiagramm mit Ländernamen:

ggplot(df, aes(cerealcrops, gdp, label = country)) + 
  geom_point() + geom_smooth(method='lm') + geom_text(vjust=-1, hjust=0.5)

Achte auf Punkte, die weit von der Regressionsgeraden entfernt sind. Ein Land wie die USA oder China könnte aufgrund seiner Größe und Produktivität ein Ausreißer nach oben sein. Ein positives Residuum bedeutet, dass das tatsächliche BIP höher ist als vom Modell vorhergesagt – das Land produziert also mehr Wohlstand pro Getreidemenge als erwartet.

Korrelation und Regression: Rauchen und Säuglingssterblichkeit

Die Korrelation zwischen smoke und infmort berechnest du mit cor(df$smoke, df$infmort). Ein positiver Wert (z.B. 0,3) zeigt einen schwachen bis moderaten Zusammenhang: In Ländern mit mehr Rauchern ist die Säuglingssterblichkeit tendenziell höher. Das Streudiagramm bestätigt dies, aber die Punkte streuen stark.

Die Regression m <- lm(infmort ~ smoke, data = df) gibt dir den Anstieg: Steigt der Raucheranteil um 10 Prozentpunkte, erhöht sich die Säuglingssterblichkeit um den Koeffizienten mal 10. Allerdings ist Vorsicht geboten: Der Zusammenhang könnte durch Confounder wie den Entwicklungsstand des Landes verzerrt sein. Hier kommen die in der Vorlesung besprochenen Regressionsfallen ins Spiel: fehlende Variablen, nichtlineare Beziehungen oder Ausreißer.

Wenn du den Kontinent als Kontrollvariable hinzufügst (lm(infmort ~ smoke + continent, data = df)), ändert sich der Koeffizient für Rauchen oft deutlich. Das liegt daran, dass Rauchverhalten und Säuglingssterblichkeit stark mit dem Kontinent zusammenhängen. Das farbige Streudiagramm nach Kontinent zeigt Cluster: Europäische Länder haben niedrige Werte bei beiden Variablen, afrikanische Länder hohe. Die Kontrolle reduziert den Scheinzusammenhang.

Fazit und Ausblick

Dieses Tutorial hat dir gezeigt, wie du mit R und tidyverse grundlegende statistische Analysen durchführst. Von der Deskription über den Mittelwertsvergleich bis zur multiplen Regression – die Methoden sind auf viele Datensätze anwendbar, sei es in der Sozialforschung, Marktanalyse oder bei der Auswertung von Umfragen. Der Schlüssel liegt im Verständnis der Ergebnisse: Nicht jeder statistisch signifikante Zusammenhang ist auch inhaltlich bedeutsam. Achte stets auf die Größe des Effekts und mögliche Störfaktoren.

Möchtest du tiefer einsteigen? Dann experimentiere mit eigenen Datensätzen, etwa aus dem World Development Indicators-Portal. Mit R hast du ein mächtiges Werkzeug an der Hand, um Muster in Daten zu entdecken – und das alles kostenlos und open source.