Я пытаюсь преобразовать столбец фактора в фиктивные переменные:
str(cards$pointsBin)
# Factor w/ 5 levels ".lte100",".lte150",..: 3 2 3 1 4 4 2 2 4 4 ...
labels <- model.matrix(~ pointsBin, data=cards)
head(labels)
# (Intercept) pointsBin.lte150 pointsBin.lte200 pointsBin.lte250 pointsBin.lte300
# 741 1 0 0 0 0
# 407 1 1 0 0 0
# 676 1 0 0 1 0
# 697 1 1 0 0 0
# 422 1 0 1 0 0
# 300 1 0 1 0 0
Там нет столбца для первого значения моего фактора ( ".lte100"
), который должен быть классифицирован как первая строка. Как мне вернуть эти данные? И что означает столбец «Перехват», который, кажется, означает все 1?
r
categorical-data
categorical-encoding
digitgopher
источник
источник
- 1
когда у вас есть один категорический предиктор, представленный как фактор (как в этом вопросе), он будет предполагать, что вы на самом деле не имеете это в виду, и переключитесь на использование sum- кодирование в ноль; что, конечно, просто другая параметризация. Слишком дружелюбный, если вы спросите меня.Ответы:
Учтите следующее:
Первые две команды идентичны. Последние две команды указывают, что они не должны производить перехват, и сохраняют две фиктивные переменные.
источник