[R] calculating goodness-of-fit statistics
Pontarelli, Brett
bpontar at amazon.com
Wed Feb 1 03:11:26 CET 2006
The trouble is log(0/anything) = log(0) = NaN. If you want them to evaulate to zero you might try zeroing out the values you know will be NaN:
X2 = 2*sum(observed*log(observed/expected));
X2[observed==0] = 0;
--Brett
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Taka Matzmoto
Sent: Tuesday, January 31, 2006 6:03 PM
To: r-help at stat.math.ethz.ch
Subject: [R] calculating goodness-of-fit statistics
Hi R users
I have a simple data for calculating goodness-of-fit statistics (e.g., X2 by Pearson, G2 by Wilks)
#################################################
observed<-c(424,174,0,402)
expected<-c(282.7174, 314.2972, 142.3142, 260.6712)
2*sum(observed*log(observed/expected)) # for X2
sum((observed-expected)^2/expected) # for G2 #################################################
(note. expected ones were calculating by a model I used, not by marginal of observed ones.)
The third element of the observed vector is zero.
For third element, 0 * log(0/142.3142) is NaN. That is why I got NaN for G2.
I think 0 multiplied by anything should be zero. Am I wrong ?
Is there any R functions to correct zero cells for calculating G2? If there is, I like to know some
references justifying the correction.
Thank you in advance
TM
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list