読者です 読者をやめる 読者になる 読者になる

JIKOKENNJIYOKU-NIKKI【21st Century】

明日から本気出すわ。

実際にRでフリードマン検定をいろいろやってみたメモ

# フリードマン検定はマトリックスデータでないとできないらしい。
# マトリックスデータに変換してMTに格納。

> MT<-matrix(c(0,3,1,
+ 0,6,1
+ , 0,7,1,
+ 0,6,4,
+ 0,7,7,
+ 0,5,4,
+ 0,6,2,
+ 0,6,3,
+ 0,7,5),ncol=3,byrow=T)

# 格納データを確認。

> MT
[,1] [,2] [,3]
[1,] 0 3 1
[2,] 0 6 1
[3,] 0 7 1
[4,] 0 6 4
[5,] 0 7 7
[6,] 0 5 4
[7,] 0 6 2
[8,] 0 6 3
[9,] 0 7 5

# フリードマン検定の実施。

> friedman.test(MT)

Friedman rank sum test

data: MT
Friedman chi-squared = 17.543, df = 2, p-value = 0.0001551

# 以上。
# 以下は、別法とか。
# エクセルからデータの読み込み。コピペしたクリップボードから。
# header=TRUEで変数名を取り込み。FALSE or Fだと取り込まない。
# ちな、Macの場合は dat<-read.table(pipe("pbpaste"),header=T)
# Mac使ってないとすぐ忘れちゃうわ。この呪文↑

> dat<-read.table("clipboard",header=T)

# 取り込んだデータの確認。

> dat
MT1 MT2 MT3
1 0 3 1
2 0 6 1
3 0 7 1
4 0 6 4
5 0 7 7
6 0 5 4
7 0 6 2
8 0 6 3
9 0 7 5

# as.matrixでdatをマトリックスデータに変換。
# フリードマン検定はマトリックスデータじゃないとできないらしいので。

> result<-friedman.test(as.matrix(dat))
> result

Friedman rank sum test

data: as.matrix(dat)
Friedman chi-squared = 17.543, df = 2, p-value = 0.0001551

# フリードマン検定で群間の有意差あり。
# 以下は、多重比較としてWilcoxonの符号付き順位和検定を行う場合の例示。

# ①p値のみ確認する場合の方法。
# スタックデータに変換。なぜかは私には不明。

> x<-stack(dat)
> Score<-x[,1]
> Time<-x[,2]

# Bonferroniの方法(Holmの方法で行う場合は p.adj="holm"とすれば良い)
> pairwise.wilcox.test(Score, Time, p.adj="bonferroni", exact=F, paired=T)

Pairwise comparisons using Wilcoxon signed rank test

data: Score and Time

MT1 MT2
MT2 0.025 -
MT3 0.027 0.041

P value adjustment method: bonferroni

# ②こちらは各々の群間でWilcoxonの符号付き順位和検定を行う場合。
# datの中に入っているそれぞれの変数名を$マークでつないで、
# dat$変数名、つまり、ここではdat$MT1のようにデータを指定する。


# MT1群とMT2群の比較。

> wilcox.test(dat$MT1, dat$MT2, paired=T, correct=F)

Wilcoxon signed rank test

data: dat$MT1 and dat$MT2
V = 0, p-value = 0.006956
alternative hypothesis: true location shift is not equal to 0

Warning message:
In wilcox.test.default(dat$MT1, dat$MT2, paired = T, correct = F) :
cannot compute exact p-value with ties

# MT1群とMT3群の比較。

> wilcox.test(dat$MT1, dat$MT3, paired=T, correct=F)

Wilcoxon signed rank test

data: dat$MT1 and dat$MT3
V = 0, p-value = 0.007421
alternative hypothesis: true location shift is not equal to 0

Warning message:
In wilcox.test.default(dat$MT1, dat$MT3, paired = T, correct = F) :
cannot compute exact p-value with ties

# MT2群とMT3群の比較。

> wilcox.test(dat$MT2, dat$MT3, paired=T, correct=F)

Wilcoxon signed rank test

data: dat$MT2 and dat$MT3
V = 36, p-value = 0.01131
alternative hypothesis: true location shift is not equal to 0

Warning messages:
1: In wilcox.test.default(dat$MT2, dat$MT3, paired = T, correct = F) :
cannot compute exact p-value with ties
2: In wilcox.test.default(dat$MT2, dat$MT3, paired = T, correct = F) :
cannot compute exact p-value with zeroes
>

# 以上。