方差检验可以评估组间的差异。依据检验的结果,虽然你可以拒绝不存在差异的原假设,但方差检验并没有告诉你哪些组显著地与其他组有不同。Robert 在 《R in Action》一书中推荐了一个包-npmc: 该包提供了一种非参数多组比较程序。在控制犯第一类错误的概率(发现一个事实上并不存在的差异的概率)的前提下,执行可以同步进行的多组比较,这样可以直接完成所有组之间的成对比较.
由于该包所依赖的mvtnorm包的一些更新,npmc包的最后更新版本(1.0.7)无法正确运行在R 3.0以上的版本。我在Rstudio中做了调试和编译,对npmc.R的原代码做了一些细微的更改以支持最新的mvtnorm包。npmc包最后编译运行成功。
最新原程序共享在GitHub:
https://github.com/HK-Zhang/Rice/tree/master/npmc
也可以通过下面链接直接下载这个包
http://pan.baidu.com/s/1nuqdXcX
测试代码和结果:
> class<-state.region
> var<-state.x77[,c('Illiteracy')]
> mydata<-as.data.frame(cbind(class,var))
> rm(class,var)
> library(npmc)
> summary(npmc(mydata),type='BF')
结果如下,和Robert在书中给出的结果基本一致(不完全一致,是因为随机数的问题)