Estoy tratando de convertir mi columna de factor a variables ficticias:
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
No hay una columna para el primer valor de mi factor ( ".lte100"
), que es lo que la primera fila se debe clasificar como ¿Cómo recupero estos datos? ¿Y qué significa la columna Interceptar que parece ser todo 1?
3
Cuando tiene variables ficticias "K", su modelo resultante tendrá a.) El término de intercepción (que es una columna de unos) y b.) Columnas adicionales "K-1". La razón es porque, de lo contrario, las columnas de la matriz resultante no serían linealmente independientes (y, como resultado, no podría hacer OLS ).
—
Steve S
¿Por qué 'no tiene sentido'? Es el mismo modelo con la misma bondad de ajuste, solo parametrizado de una manera diferente.
—
Wolfgang
@digitgopher: cuando ejecuta una regresión y termina con un modelo como este: , técnicamente está terminando con un modelo como esto: , donde este nuevo término siempre es igual a "1" (de ahí la columna de unos) Si eliminara esta columna de unos al ejecutar una regresión regular, terminaría con un modelo sesgado ya que, en efecto, estaría forzando a cada modelo a través del origen. y =β0*x0+β1*x1x0
—
Steve S
@SteveS: De hecho, R es tan amigable que si intentas eliminar la intercepción
—
Scortchi - Restablece a Monica
- 1
cuando tienes un solo predictor categórico representado como un factor (como en esta pregunta), asumirá que realmente no quieres decir eso y cambiarás a usar sum- codificación a cero; que por supuesto es solo una parametrización diferente. Demasiado amable, si me preguntas.
@SteveS: Gracias. Debería haberlo verificado: cambia a la codificación de medios celulares. No hace lo que podría esperar, que se ajusta al modelo forzado a través del origen contra el que advierte con razón (sin embargo, lo hará cuando la columna sea de tipo numérico).
—
Scortchi - Restablece a Monica