Staircase Coding für einen ordinalen Prädiktor in R

Arndt Regorz, Dipl. Kfm. & MSc. Psychologie, 09.06.2026

Wenn Sie in einer Regressionsanalyse einen Prädiktor haben, der ordinalskaliert ist, dann bietet sich das Staircase Coding an.

Hier ist das Codebeispiel für einen ordinalen Prädiktor mit 4 Stufen. Für mehr oder weniger Stufen müssen Sie entsprechend den Code anpassen. Sie benötigen immer eine Prädiktorvariable weniger als Stufen in der ordinalen Variable.

Zunächst erstellen wir einen Beispieldatensatz (der Schritt entfällt, wenn Sie mit Ihren eigenen Daten arbeiten.

# Beispiel Datensatz (ordinale Variable mit 4 Stufen)

id <- c(1,2,3,4,5,6,7,8,9,10,11,12)

ordinal <- c("very low","low","high","very high","high","low","high",
"very high","high","high","very low","low")

df <- data.frame(id, gruppe=as.factor(ordinal))

head(df)

Dann erzeugen wir die Dummy-Variablen. Dazu verwenden wir hier die Funktion recode_values() aus dem dplyr Package (Achtung: Dafür brauchen Sie eine relativ neue Version von dplyr, ab Version 1.2.0.)

# Erzeugen der drei Dummy-Variablen

library(dplyr)

df$d1 <- recode_values(
df$gruppe,
"very low" ~ 0,
c("low","high","very high") ~ 1
)

Was bedeutet jetzt dieser Code?

Zunächst wird der Name der Variable angegeben, die rekodiert werden soll (hier: df$gruppe). Anschließend werden nacheinander die alten Werte der Variable angegeben, gefolgt von der Tilde und rechts dann der neue Wert.

  • Die Zeile "very low" ~ 0 bedeutet also, dass dort, wo bisher der Wert "very low" stand, jetzt der Wert 0 steht.
  • Die Zeile c("low","high","very high") ~ 1 bedeutet, dass dort, wo bisher einer der Werte "low", "high" oder "very high" stand, jetzt der Wert 1 steht.

df$d2 <- recode_values(
df$gruppe,
c("very low","low") ~ 0,
c("high","very high") ~ 1
)

df$d3 <- recode_values(
df$gruppe,
c("very low","low","high") ~ 0,
"very high" ~ 1
)

print(df)

Die drei so erzeugten Dummyvariablen, d1, d2 und d3 kann man jetzt in die Regressionsanalyse als Prädiktoren einschließen, um den Effekt der ordinalskalierten Variable zu schätzen.

Die Interpretation der Regressionsgewichte ist wie folgt:

  • d1: Vergleich low zu very low
  • d2: Vergleich high zu low
  • d3: Vergleich very high zu high