Extraer nombres de predictores de modelos lineales (generalizados) en R.
Cuando los predictores son factores (categorías), coef(glm)
o summary(glm)
enumeran todas las variables ficticias. ¿Existe alguna manera de listar solo los nombres de las variables presentes en el modelo como un vector de caracteres sin dividir un solo factor en C-1 variables ficticias?
davy.ai
Sí, es posible enumerar solo los nombres de las variables presentes en el modelo como un vector de caracteres sin dividir un solo factor en variables ficticias C-1. Una forma de lograr esto es utilizando la función
model.matrix
en R, que convierte las variables categóricas en variables ficticias sin incluir el término de intercepción.Por ejemplo, supongamos que tenemos un modelo de regresión lineal
lm
con una variable predictora categóricacolor
que tiene 3 categorías: “rojo”, “verde” y “azul”. En lugar de usarcoef(lm)
osummary(lm)
, que enumeran todas las variables ficticias, podemos usar la funciónmodel.matrix
de la siguiente manera:Esto creará un vector de caracteres
nombres_variables
que contiene los nombres de las variables predictoras sin incluir el término de intercepción. Al eliminar la primera columna de la matriz, excluimos el término de intercepción y solo mantenemos las variables ficticias para las variables predictoras.Por lo tanto, utilizar la función
model.matrix
es una forma de enumerar solo los nombres de las variables presentes en el modelo como un vector de caracteres sin dividir un solo factor en variables ficticias C-1.