Not sure what you want to test here with two matrices, but reading the manual helps here as well:
y a vector; ignored if x is a matrix. x and y are matrices in your example, so it comes as no surprise that you get different results. On top of that, your manual calculation is not correct if you want to test whether two samples come from the same distribution (so don't be surprised if R still gives a different value...). HTH, Michael > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Michael Haenlein > Sent: Tuesday, September 27, 2011 12:45 > To: r-help@r-project.org > Subject: [R] Pearson chi-square test > > Dear all, > > I have some trouble understanding the chisq.test function. > Take the following example: > > set.seed(1) > A <- cut(runif(100),c(0.0, 0.35, 0.50, 0.65, 1.00), labels=FALSE) > B <- cut(runif(100),c(0.0, 0.25, 0.40, 0.75, 1.00), labels=FALSE) > C <- cut(runif(100),c(0.0, 0.25, 0.50, 0.80, 1.00), labels=FALSE) > x <- table(A,B) > y <- table(A,C) > > When I calculate the test statistic by hand I get a value of > approximately > 75.9: > http://en.wikipedia.org/wiki/Pearson's_chi- > square_test#Calculating_the_test-statistic > sum((x-y)^2/y) > > But when I do chisq.test(x,y) I get a value of 12.2 while > chisq.test(y,x) > gives a value of 10.3. > > I understand that I must be doing something wrong here, but I'm not > sure > what. > > Thanks, > > Michael > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.