Skip to content
Prev 2572 / 7420 Next

post hoc in Kruskal Wallis

If the design is balanced this function will work

npcompare <- function (var,class)
{
     k <- length(table(class))
     n <- length(var)/k

     se <- sqrt((n*(n*k)*(n*k+1))/12)
     rvar <- rank(var)

     for (i in 1:(k-1)) {
         left <- sum(rvar[as.numeric(class)==i])
         for (j in (i+1):k) {
             right <- sum(rvar[as.numeric(class)==j])
             diff = abs(left-right)
             cat(paste(i,j,left,right,diff,round(1-pt(diff/se,k),4),'\n'))
         }
     }
     cat('\n')
}

It's not formatted very elegantly, but it works.

Dave R.
On 11/24/2011 08:01 AM, Richard L. Boyce wrote: