Quiero ajustar un modelo de regresión para ver si hay cambios en la proporción de estudiantes de primer año a lo largo de los años. Tengo datos de recuento para el recuento total de estudiantes de primer año (FirstTimeStudents) y el recuento total de todos los estudiantes (TotalStudents). Quiero ajustar un modelo GEE con estos datos y escribí el siguiente código. Mis resultados para los coeficientes son todos NA
combFirstYear = geeglm(cbind(data$FirstTimeStudents, data$TotalStudents -
data$FirstTimeStudents) ~ Year, family=binomial(logit), data=data, id=DeptID,
corstr="independence")
summary(combFirstYear)
La razón por la que ajusté el modelo de esta manera es porque leí en este sitio web sobre hacer algo similar usando glm y funciona. Pero por algunas razones, no funciona con geeglm. Si a alguien se le ocurre otra forma de responder a esta pregunta en términos de proporción, también lo agradecería.
Dice: "R puede manejar esto usando glm con la familia binomial(link="logit"), con una variable dependiente que es en realidad un objeto de dos vectores, siendo el primero el número de "éxitos" y el segundo el número de "fracasos"."
Este es un ejemplo de la modelización de la cobertura de la cicuta con respecto a la total. El ejemplo es un poco forzado (ya que no son muestras reales de individuos) pero se entiende la idea. Comenzamos generando la cobertura sumada de todas las especies para cada parcela:
sumcover = tapply(dat
$cover,dat
$plotID,sum)`
coverdat = data.frame(names(sumcover),sumcover)
Ahora fusionamos estos datos con nuestro objeto hemlock dat5, basado en plotID:
dat6 = merge(dat5,coverdat,all.x=T,by.x=1,by.y=1)
Y crear nuestras variables de respuesta de cobertura de cicuta (éxitos) y cobertura total menos cobertura de cicuta (fracasos):
cover.y = cbind(dat6$cover,dat6$sumcover-dat6$cover)
Ahora podemos modelar estos datos como un proceso binomial de número variable de ensayos por observación:
glm6 = glm(cover.y~disturb*elev,data=dat6,family=binomial)
summary(glm6)