較べる

  • 2つの軸がある
2カテゴリ 3以上カテゴリ・順序なし 3以上カテゴリ・順序あり 量的・順序あり
2カテゴリ ピアソン ピアソン 傾向性検定 線形回帰・順位和
3以上カテゴリ・順序なし - ピアソン Kruskal-Wallis Kruskal-Wallis
3以上カテゴリ・順序あり - - Jonckheere-Terpstra Jonckheere-Tersptra
量的・順序あり - - - Jonckheere-Terpstra・線形回帰
  • 適当に2軸のカテゴリ数を与えて(掲載図は2カテゴリx10カテゴリ)検定方法ごとの値の関連をプロットしてみる。
CompareTests<-function(N=2,M=2,Niter=1000,Ns=100,k1=10,k2=3){
library(MCMCpack)
library(clinfun)
pearsonp<-trendp<-kwp<-jtp<-lmp<-rep(0,Niter)
for(i in 1:Niter){
 fn<-rdirichlet(1,rep(k1,N))
 fm<-rdirichlet(1,rep(k2,M))
 first<-sample(1:N,Ns,prob=fn,replace=TRUE)
 second<-sample(1:M,Ns,prob=fm,replace=TRUE)
 t<-table(first,second)
 pearsonp[i]<-chisq.test(t,correct=FALSE)$p.value
 if(N==2){
  trendp[i]<-prop.trend.test(t[1,],t[1,]+t[2,],score=1:M)$p.value
 }
 
 kwp[i]<-kruskal.test(second~first)$p.value
 jtp[i]<-jonckheere.test(second,first,alternative="two.sided")$p.value
 lmp[i]<-summary(lm(second~first))$coefficients[2,4]
}
databind<-cbind(pearsonp,kwp,jtp,lmp,trendp)
plot(as.data.frame(databind))
return(databind)
}