Próbuję przekonwertować kolumnę czynnikową na zmienne fikcyjne:
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
Nie ma kolumny dla pierwszej wartości mojego współczynnika ( ".lte100"
), który powinien być sklasyfikowany jako pierwszy wiersz. Jak mogę odzyskać te dane? A co oznacza kolumna Intercept, która wydaje się oznaczać wszystkie 1?
r
categorical-data
categorical-encoding
digitgopher
źródło
źródło
- 1
gdy masz jeden predyktor jakościowy reprezentowany jako czynnik (jak w tym pytaniu), zakładasz, że tak naprawdę nie masz na myśli tego i przełącz się na użycie sum- kodowanie zera; co jest oczywiście tylko inną parametryzacją. Zbyt przyjacielski, jeśli mnie zapytasz.Odpowiedzi:
Rozważ następujące:
Pierwsze dwa polecenia są identyczne. Ostatnie dwa polecenia określają, aby nie tworzyć przechwytywania i zachowuje dwie zmienne zastępcze.
źródło