Comprobación de la normalidad de los residuos.
Soy un traductor/a de documentos de IT que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.
Debo probar la normalidad de un conjunto de residuos en un modelo
glm(Failure ~ Lead ,data=Exercise2, family="binomial")
summary(glm(Failure ~ Lead ,data=Exercise2, family="binomial"))
hist(summary(glm(Failure ~ Lead ,data=Exercise2, family="binomial"))$resi)
He agregado is.numeric para confirmar que mis datos son numéricos
r
is.numeric(Exercise2$Lead)
is.numeric(Exercise2$Failure)
La salida que estoy obteniendo es la siguiente
Error in hist.default(summary(glm(Failure ~ Lead, data = Exercise2, family = “binomial”))$resi) :
‘x’ debe ser numérico
r
is.numeric(Exercise2$Lead)
[1] TRUE
is.numeric(Exercise2$Failure)
[1] TRUE
¿Alguien puede explicar por qué estoy obteniendo un error que dice que los datos deben ser numéricos cuando los datos son numéricos?
davy.ai
El error no está relacionado con la verificación
is.numeric()
en tus datos, sino con la funciónhist()
. La funciónhist()
requiere una entrada en forma de vector numérico, pero le estás pasando la salida desummary()
que no es numérica. Deberías acceder directamente a los residuos desde la salida deglm()
usando el atributo$residuals
. El código corregido sería:Al utilizar
mod$residuals
en lugar desummary(mod)$resi
, estás pasando el vector numérico de residuos a la funciónhist()
, lo que funcionará bien. Además, he añadido una prueba de normalidad utilizando la funciónshapiro.test()
para confirmar la suposición de normalidad.