19 votos

¿Cómo hacer un modelo lineal generalizado con múltiples variables dependientes en R?

Tengo seis variables dependientes (datos de la cuenta) y varias variables independientes, veo que en una MMR el script va como esto:

my.model <- lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)

Pero, puesto que mis datos son cuentas, quiero usar un modelo lineal generalizado y he intentado 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 me puede explicar este mensaje de error o una forma de solucionar mi problema?

12voto

James Sutherland Puntos 2033

La respuesta corta es que glm no funciona así. El lm creará mlm a los objetos, si le das una matriz, pero esto no es apoyado ampliamente en los medicamentos genéricos y de todos modos no podría fácilmente extenderse a glm porque los usuarios deben ser capaces de especificar la doble columna de las variables dependientes de los modelos de regresión logística.

La solución es ajustar los modelos por separado. Asumir su IVs y DVs directo a los datos.marco denominado dd y se etiquetan de la manera que están en su pregunta. El siguiente código hace una lista de los modelos ajustados indexados por el nombre de la variable dependiente que utilizan:

models <- list()
dvnames <- paste("DV", 1:6, sep='')
ivnames <- paste("IV", 1:n, sep='') ## for some value of n

for (y in dvnames){
  form <- formula(paste(y, "~", ivnames))
  models[[y]] <- glm(form, data=dd, family='poisson') 
}

Para examinar los resultados, simplemente envuelva sus funciones usuales en un lapply, como este:

lapply(models, summary) ## summarize each model

No hay ninguna duda la más elegante de maneras de hacer esto en R, pero que deben trabajar.

6voto

Santiago Cepas Puntos 2127

Me dijeron modelos multivariantes generalizados lineales (mixto) existe esa dirección su problema. Yo no soy un experto acerca de él, pero tenía un vistazo a la documentación de SABLE y este libro en MLG multivariante. Tal vez ayudan a...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X