Tengo seis variables dependientes (datos de conteo) y varias variables independientes, veo que en un MMR el script es así:
my.model <- lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)
Pero, dado que mis datos son recuentos, quiero usar un modelo lineal generalizado y probé esto:
my.model <- glm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn, family="poisson")
Y aparece este mensaje de error:
Error in glm.fit(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, :
(subscript) logical subscript too long`
¿Alguien puede explicarme este mensaje de error o una forma de resolver mi problema?
lm
cuando le da una matriz?lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)
Debolm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)
Debo usar el comando manova () de esta manera:summary(manova(my.model))
para hacer un análisis de varianza multivariante y ver la importancia de cada variable independiente. Ese es el objetivo final.summary
se los dará para cada DV.Respuestas:
La respuesta corta es que
glm
no funciona así. Ellm
va a crearmlm
objetos si le das una matriz, pero esto no es apoyado ampliamente en los medicamentos genéricos y de todos modos no podría generalizar fácilmente aglm
porque los usuarios deben ser capaces de especificar variables dependientes de doble columna para modelos de regresión logística.La solución es adaptar los modelos por separado. Suponga que sus IV y DV viven en un data.frame llamado
dd
y están etiquetados como están en su pregunta. El siguiente código hace una lista de modelos ajustados indexados por el nombre de la variable dependiente que usan:Para examinar los resultados, simplemente envuelva sus funciones habituales en un
lapply
, como este:Sin duda, hay formas más elegantes de hacer esto en R, pero eso debería funcionar.
fuente
Me dijeron que existen modelos lineales generalizados (mixtos) multivariados que abordan su problema. No soy un experto al respecto, pero me gustaría consultar la documentación de SABRE y este libro sobre GLM multivariados. Quizás ellos ayuden ...
fuente
lm
una matriz para una variable dependiente probablemente debería verse más como un azúcar sintáctico que como la expresión de un modelo multivariante: si fuera un modelo multivariante (normal), sería aquel donde están los errores ' esférico ', es decir, uno en el que podría haber ejecutado regresiones separadas en cada elemento de la variable dependiente y obtenido la misma respuesta.