Ich versuche, die Anpassungsgüte für einen Vektor von Zähldaten zu einem Binomial zu testen. Dazu benutze ich die goodfit()Funktion im vcdPaket. Wenn ich die Funktion ausführe, wird jedoch NaNder 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 NaNfü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 NaNin diesem Fall produzieren? Gibt es eine alternative Funktion zur Berechnung des GOF anhand von Zähldaten?