umfrage <- data.frame(
id = 1:8,
abteilung = c("IT", "HR", "IT", "Verkauf", "HR", "IT", "Verkauf", "HR"),
zufriedenheit = c(4, 2, 5, 3, 1, 4, 5, 3),
gehalt = c(85000, 62000, 91000, 58000, 64000, 78000, 55000, 67000),
temperatur_c = c(22.1, 21.5, 23.0, 20.8, 21.9, 22.4, 19.5, 21.0)
)
# Nominal: Faktor ohne Ordnung
umfrage$abteilung <- factor(umfrage$abteilung)
str(umfrage$abteilung) Factor w/ 3 levels "HR","IT","Verkauf": 2 1 2 3 1 2 3 1
table(umfrage$abteilung)
HR IT Verkauf
3 3 2
# Ordinal: geordneter Faktor
stufen <- c("sehr unzufrieden", "unzufrieden", "neutral",
"zufrieden", "sehr zufrieden")
umfrage$zufriedenheit_ord <- ordered(umfrage$zufriedenheit,
levels = 1:5, labels = stufen)
str(umfrage$zufriedenheit_ord) Ord.factor w/ 5 levels "sehr unzufrieden"<..: 4 2 5 3 1 4 5 3
# Der geordnete Faktor kann vergleichen, der ungeordnete nicht
umfrage$zufriedenheit_ord > "neutral"[1] TRUE FALSE TRUE FALSE FALSE TRUE TRUE FALSE
# Median einer ordinalen Variablen: die mittlere Stufe, nicht eine Zahl
levels(umfrage$zufriedenheit_ord)[median(as.integer(umfrage$zufriedenheit_ord))][1] "neutral"
# Metrisch: einfach Zahlen
round(c(mittel_gehalt = mean(umfrage$gehalt), sd_gehalt = sd(umfrage$gehalt),
mittel_temp = mean(umfrage$temperatur_c),
spannweite_temp = diff(range(umfrage$temperatur_c))), 1) mittel_gehalt sd_gehalt mittel_temp spannweite_temp
70000.0 13136.6 21.5 3.5