3  R-Referenz

4 R-Referenz

Diese Seite ist als schneller R-Spickzettel gedacht: kurze Erklärung, typische Syntax, Mini-Beispiel und der häufigste Stolperstein.

R schnell nachschlagen

Wenn du in der Prüfung schnell Syntax, einen typischen Befehl oder eine Standard-Regression brauchst, findest du hier die kompakten Muster. Die Seite ist bewusst kurz, prüfungsnah und direkt anwendbar.

4.1 Daten

Daten einlesen

Zweck: Datei in R laden.

df <- read.csv("datei.csv")
df <- read.delim("datei.txt")

Typischer Fehler: falsches Trennzeichen oder falscher Dateipfad.

Daten ansehen

Zweck: Struktur und erste Beobachtungen prüfen.

head(df)
View(df)
glimpse(df)

Typischer Fehler: direkt rechnen, ohne die Daten vorher kurz zu prüfen.

Spalten auswählen

Zweck: nur relevante Variablen behalten.

select(df, income, age, vote)

Mini-Hinweis: praktisch vor Tabellen, Regressionen und Grafiken.

4.2 Transformation

Zeilen filtern

Zweck: nur Beobachtungen mit Bedingung behalten.

filter(df, age > 30)
filter(df, gender == "female")

Typischer Fehler: = statt ==.

Variable erstellen

Zweck: neue Spalte berechnen.

mutate(df, income_log = log(income))
mutate(df, east_dummy = ifelse(east == "yes", 1, 0))

Typischer Fehler: neue Variable nicht abspeichern.

Zusammenfassen

Zweck: Kennzahlen berechnen.

summarise(df,
  mean_income = mean(income, na.rm = TRUE),
  sd_income = sd(income, na.rm = TRUE)
)

Typischer Fehler: na.rm = TRUE vergessen.

4.3 Grafiken

Streudiagramm

Zweck: Zusammenhang zwischen zwei Variablen ansehen.

ggplot(df, aes(x = income, y = turnout)) +
  geom_point()

Mini-Hinweis: gut für erste lineare Muster.

Balkendiagramm

Zweck: Kategorien vergleichen.

ggplot(df, aes(x = party)) +
  geom_bar()

Typischer Fehler: Prozentwerte erwarten, obwohl nur Häufigkeiten gezeigt werden.

Regression einzeichnen

Zweck: linearen Zusammenhang direkt visualisieren.

ggplot(df, aes(x = income, y = turnout)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

Mini-Hinweis: gut für Interpretation im Tutoratsstil.

4.4 Statistik

Korrelation

Zweck: linearen Zusammenhang messen.

cor(df$x, df$y, use = "complete.obs")

Wichtig: Korrelation ist nicht automatisch Kausalität.

t-Test

Zweck: Mittelwerte zweier Gruppen vergleichen.

t.test(y ~ group, data = df)

Mini-Hinweis: praktisch bei einfachen Gruppenvergleichen.

Kreuztabelle

Zweck: Häufigkeiten zweier Kategorien vergleichen.

table(df$party, df$gender)

Typischer Fehler: absolute Häufigkeiten mit Anteilen verwechseln.

4.5 Regression

Einfache Regression

Syntax: eine UV.

m1 <- lm(y ~ x, data = df)
summary(m1)

Interpretation: β ist die erwartete Veränderung von Y bei +1 in X.

Multiple Regression

Syntax: mehrere UVs.

m2 <- lm(y ~ x1 + x2 + x3, data = df)
summary(m2)

Interpretation: immer ceteris paribus lesen.

Interaktion

Syntax: Haupteffekte + Interaktion.

m3 <- lm(y ~ x1 * x2, data = df)
summary(m3)

Typischer Fehler: β1 und β2 isoliert lesen, obwohl ein Interaktionsterm drin ist.

Vorhersagen

Zweck: erwartete Werte berechnen.

predict(m2)
predict(m2, newdata = data.frame(x1 = 1, x2 = 2, x3 = 0))

Mini-Hinweis: hilfreich für Prüfungsfragen zu Modellvorhersagen.

Koeffizienten auslesen

Zweck: einzelne Parameter gezielt holen.

coef(m2)
coef(m2)["x1"]

Typischer Fehler: Namen der Terme nicht exakt schreiben.

R² auslesen

Zweck: Modellgüte prüfen.

summary(m2)$r.squared
summary(m2)$adj.r.squared

Wichtig: hohes R² ist nützlich, aber nicht automatisch kausal.

4.6 Binäre Modelle

Logit mit glm()

Syntax: binäre AV, logistischer Link.

m_logit <- glm(y ~ x1 + x2,
  family = binomial(link = "logit"),
  data = df)
summary(m_logit)

Wichtig: Das Modell schätzt nicht Y direkt, sondern P(Y = 1).

Probit mit glm()

Syntax: gleiche Idee, anderer Link.

m_probit <- glm(y ~ x1 + x2,
  family = binomial(link = "probit"),
  data = df)
summary(m_probit)

Wichtig: Richtung und Signifikanz sind oft sehr ähnlich wie beim Logit.

Wahrscheinlichkeiten vorhersagen

Zweck: vorhergesagte Eintrittswahrscheinlichkeiten ausgeben.

p_hat <- predict(m_logit, type = "response")
head(p_hat)

Mini-Hinweis: Bei Logit/Probit sind Vorhersagen Wahrscheinlichkeiten zwischen 0 und 1.

Klassifikation mit 0.5-Schwelle

Zweck: aus Wahrscheinlichkeiten 0/1-Vorhersagen bauen.

y_hat <- ifelse(p_hat > 0.5, 1, 0)
table(vorhersage = y_hat, beobachtet = df$y)

Typischer Fehler: p-Werte und vorhergesagte Wahrscheinlichkeiten verwechseln.

Vorhersagegüte

Zweck: Anteil korrekt vorhergesagter Beobachtungen berechnen.

mean(y_hat == df$y)

naiv <- ifelse(mean(df$y) > 0.5, 1, 0)
mean(naiv == df$y)

Wichtig: Die Modellgüte wird oft gegen ein naives Modell verglichen.

Marginale Effekte lesen

Kernidee: In Logit/Probit ist ein Koeffizient nicht direkt eine konstante Veränderung der Wahrscheinlichkeit.

# Merksatz für die Prüfung:
# Marginale Effekte hängen davon ab,
# wo man sich auf der S-Kurve befindet.

Wichtig: Deshalb immer zwischen Koeffizient und marginalem Effekt unterscheiden.

4.7 Panel / Fixed Effects

Fixed Effects mit feols()

Syntax: UVs vor dem Pipe, Fixed Effects nach dem Pipe.

m_fe <- feols(y ~ x1 + x2 | country + year, data = df)
summary(m_fe)

Mini-Hinweis: sehr nützlich für Paneldaten und Two-way Fixed Effects.

Unit Fixed Effects

Beispiel: nur Ländereffekte kontrollieren.

m_unit <- feols(y ~ x | country, data = df)

Wichtig: kontrolliert zeitinvariante Unterschiede zwischen Einheiten.

Time Fixed Effects

Beispiel: nur Jahre kontrollieren.

m_time <- feols(y ~ x | year, data = df)

Wichtig: fängt gemeinsame Zeitschocks ab.

?

Lernuhr
Uhrzeit
Lerntimer