Estoy tratando de probar la bondad de ajuste para un vector de datos de conteo a un binomio. Para hacerlo, estoy usando la goodfit()
función en el vcd
paquete. Cuando ejecuto la función, sin embargo, devuelve NaN
el valor p de la prueba de Chi-cuadrado. En mi configuración, tengo un vector de datos de conteo con 75 elementos.
> library(vcd)
> counts <- c(32, 35, 44, 35, 41, 33, 42, 49, 36, 41, 42, 45, 38, 43, 36,
35, 40, 40, 43, 34, 39, 31, 40, 39, 36, 37, 37, 37, 32, 48, 41,
32, 37, 36, 49, 37, 41, 36, 34, 37, 41, 32, 36, 36, 30, 33, 33,
42, 39, 36, 36, 29, 31, 41, 36, 39, 40, 37, 39, 39, 31, 39, 37,
40, 33, 41, 34, 46, 35, 41, 44, 38, 44, 34, 42)
> test.gof <- goodfit(counts, type="binomial",
+ par=list(size=length(counts), prob=0.5))
Todo funciona bien, pero cuando inspecciono el goodfit()
objeto obtengo lo siguiente:
> summary(test.gof)
Goodness-of-fit test for binomial distribution
X^2 df P(> X^2)
Pearson NaN 75 NaN
Likelihood Ratio 21.48322 19 0.3107244
Warning message:
In summary.goodfit(test.gof) : Chi-squared approximation may be incorrect
Al principio sospeché que era un problema de tamaño de muestra pequeño, pero también tengo un conjunto de datos con 50 observaciones que no devuelve NaN
el valor p. También he tratado de cambiar el método goodfit()
a ML con resultados similares.
¿Por qué esta función estaría produciendo NaN
en este caso? ¿Existe una función alternativa para calcular GOF en los datos de conteo?