|
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)
}