Hello all,

I wish to perform a mcnemar test for a 3 by 3 matrix.
By running the slandered R command I am getting a result but I am not sure I
am getting the correct one.
Here is an example code:

(tt <-  as.table(t(matrix(c(1,4,1    ,
                            0,5,5,
                            3,1,5), ncol = 3))))
mcnemar.test(tt, correct=T)
#And I get:
        McNemar's Chi-squared test
data:  tt
McNemar's chi-squared = 7.6667, df = 3, p-value = *0.05343*


Now I was wondering if the test I just performed is the correct one.
>From looking at the Wikipedia article on mcnemar (
http://en.wikipedia.org/wiki/McNemar's_test), it is said that:
"The Stuart-Maxwell
test<http://ourworld.compuserve.com/homepages/jsuebersax/mcnemar.htm>
is
different generalization of the McNemar test, used for testing marginal
homogeneity in a square table with more than two rows/columns"

>From searching for a Stuart-Maxwell
test<http://ourworld.compuserve.com/homepages/jsuebersax/mcnemar.htm>
in
google, I found an algorithm here:
http://www.m-hikari.com/ams/ams-password-2009/ams-password9-12-2009/abbasiAMS9-12-2009.pdf

>From running this algorithm I am getting a different P value, here is the
(somewhat ugly) code I produced for this:
get.d <- function(xx)
{
  length1 <- dim(xx)[1]
  ret1 <- margin.table(xx,1) - margin.table(xx,2)
  return(ret1)
}

get.s <- function(xx)
{
  the.s <- xx
  for( i in 1:dim(xx)[1])
  {
    for(j in 1:dim(xx)[2])
    {
      if(i == j)
      {
        the.s[i,j] <- margin.table(xx,1)[i] + margin.table(xx,2)[i] -
2*xx[i,i]
      } else {
        the.s[i,j] <- -(xx[i,j] + xx[j,i])
      }
    }
  }
  return(the.s)
}

chi.statistic <- t(get.d(tt)[-3]) %*% solve(get.s(tt)[-3,-3])  %*%
get.d(tt)[-3]
paste("the P value:", pchisq(chi.statistic, 2))

#and the result was:
 "the P value: 0.268384371053358"



So to summarize my questions:
1) can I use "mcnemar.test" for 3*3 (or more) tables ?
2) if so, what test is being performed (
Stuart-Maxwell<http://ourworld.compuserve.com/homepages/jsuebersax/mcnemar.htm>)
?
3) Do you have a recommended link to an explanation of the algorithm
employed?


Thanks,
Tal





-- 
----------------------------------------------


My contact information:
Tal Galili
Phone number: 972-50-3373767
FaceBook: Tal Galili
My Blogs:
http://www.r-statistics.com/
http://www.talgalili.com
http://www.biostatistics.co.il

        [[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.

Reply via email to