Ich versuche, die Anpassungsgüte für einen Vektor von Zähldaten zu einem Binomial zu testen. Dazu benutze ich die goodfit()
Funktion im vcd
Paket. Wenn ich die Funktion ausführe, wird jedoch NaN
der p-Wert des Chi-Quadrat-Tests zurückgegeben. In meinem Setup habe ich einen Vektor von Zähldaten mit 75 Elementen.
> 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))
Alles funktioniert gut, aber wenn ich das goodfit()
Objekt inspiziere, erhalte ich Folgendes:
> 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
Ich vermutete zunächst, dass es sich um ein kleines Problem mit der Stichprobengröße handelte, habe aber auch einen Datensatz mit 50 Beobachtungen, der NaN
für den p-Wert nicht zurückgegeben wird. Ich habe auch versucht, die Methode goodfit()
mit ähnlichen Ergebnissen auf ML umzustellen .
Warum würde diese Funktion NaN
in diesem Fall produzieren? Gibt es eine alternative Funktion zur Berechnung des GOF anhand von Zähldaten?