データを順位化し、カイ二乗統計量に帰着するのがFriedman検定である。
Wilcoxonは順位和を正規分布に近似するものであったが、Friedmanはどのような数理によるのであろうか。
大学院農学生命科学研究科教授
岩田洋佳 様
のRpub「ノンパラメトリック検定」に丁寧な説明がある。
乱塊法のノンパラメトリック版というのが適切な説明であろう。
Engineering
Skills 様の Friedman検定にも丁寧な説明がある。
乱塊法は個人差を分離する被験者内計画であり、内容は2元配置分散分析であるので、乱数を用いて2元配置のデータを生成しシミュレーションしてみよう。
library(tidyr)
data <- crossing(x = 1:4, y = 1:4);#data
str(data)
## tibble [16 × 2] (S3: tbl_df/tbl/data.frame)
## $ x: int [1:16] 1 1 1 1 2 2 2 2 3 3 ...
## $ y: int [1:16] 1 2 3 4 1 2 3 4 1 2 ...
library(tidyr)
library(gapminder)
options(rgl.printRglwidget = TRUE)
#WebGLに変換してRStudio, VSCode, ウェブブラウザなど出力
library(rgl)
x <- data$x
y <- data$y
#z <- 0.2*x - 0.3*y+ rnorm(16, sd = 0.1)#誤差分散 0.1^2
z <- 1*x + 2*y+ rnorm(16, sd = 0.5)#誤差分散 0.1^2
#z <- 0*x - 0*y+ rnorm(16, sd = 0.1)#誤差分散 0.1^2
plot3d(x = x, y = y, z = z,type = "s", col = "blue", size = 1)
dat <- data.frame(x=x,y=y,z=z)
str(dat)
## 'data.frame': 16 obs. of 3 variables:
## $ x: int 1 1 1 1 2 2 2 2 3 3 ...
## $ y: int 1 2 3 4 1 2 3 4 1 2 ...
## $ z: num 2.9 4.86 6.77 9.18 4.06 ...
dat1 <- spread(dat,key=y,value=z)
dat1
x | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | 2.899245 | 4.856536 | 6.766449 | 9.184857 |
2 | 4.061834 | 6.547841 | 7.560887 | 10.030950 |
3 | 5.672720 | 6.727266 | 9.924311 | 10.634314 |
4 | 5.674074 | 8.120242 | 10.238387 | 12.966805 |
source("data/anovakun_485.txt")
#(dat1[,-1])#被験内間計画のデータ形式 sA
anovakun((dat1[,-1]),"sA",4,holm=TRUE,eta=TRUE)
##
## [ sA-Type Design ]
##
## This output was generated by anovakun 4.8.5 under R version 4.2.2.
## It was executed on Sat Jan 27 17:33:49 2024.
##
##
## << DESCRIPTIVE STATISTICS >>
##
## ---------------------------
## A n Mean S.D.
## ---------------------------
## a1 4 4.5770 1.3521
## a2 4 6.5630 1.3372
## a3 4 8.6225 1.7202
## a4 4 10.7042 1.6213
## ---------------------------
##
##
## << SPHERICITY INDICES >>
##
## == Mendoza's Multisample Sphericity Test and Epsilons ==
##
## -------------------------------------------------------------------------
## Effect Lambda approx.Chi df p LB GG HF CM
## -------------------------------------------------------------------------
## A 0.0161 4.7412 5 0.5114 ns 0.3333 0.5704 1.2532 0.3333
## -------------------------------------------------------------------------
## LB = lower.bound, GG = Greenhouse-Geisser
## HF = Huynh-Feldt-Lecoutre, CM = Chi-Muller
##
##
## << ANOVA TABLE >>
##
## ------------------------------------------------------------
## Source SS df MS F-ratio p-value eta^2
## ------------------------------------------------------------
## s 24.9277 3 8.3092
## ------------------------------------------------------------
## A 83.5793 3 27.8598 93.3955 0.0000 *** 0.7517
## s x A 2.6847 9 0.2983
## ------------------------------------------------------------
## Total 111.1916 15 7.4128
## +p < .10, *p < .05, **p < .01, ***p < .001
##
##
## << POST ANALYSES >>
##
## < MULTIPLE COMPARISON for "A" >
##
## == Holm's Sequentially Rejective Bonferroni Procedure ==
## == The factor < A > is analysed as dependent means. ==
## == Alpha level is 0.05. ==
##
## ---------------------------
## A n Mean S.D.
## ---------------------------
## a1 4 4.5770 1.3521
## a2 4 6.5630 1.3372
## a3 4 8.6225 1.7202
## a4 4 10.7042 1.6213
## ---------------------------
##
## ----------------------------------------------------------
## Pair Diff t-value df p adj.p
## ----------------------------------------------------------
## a1-a3 -4.0455 17.4899 3 0.0004 0.0024 a1 < a3 *
## a2-a4 -4.1413 14.2012 3 0.0008 0.0038 a2 < a4 *
## a1-a4 -6.1273 12.7596 3 0.0010 0.0042 a1 < a4 *
## a1-a2 -1.9860 5.9650 3 0.0094 0.0283 a1 < a2 *
## a2-a3 -2.0595 4.5910 3 0.0194 0.0388 a2 < a3 *
## a3-a4 -2.0817 4.5036 3 0.0204 0.0388 a3 < a4 *
## ----------------------------------------------------------
##
##
## output is over --------------------///
要因yによる変動は有意となっている。
source("data/anovakun_485.txt")
w <- 1*x + 0*y+ rnorm(16, sd = 0.1)#誤差分散 0.1^2
dat <- data.frame(x=x,y=y,w=w)
str(dat)
## 'data.frame': 16 obs. of 3 variables:
## $ x: int 1 1 1 1 2 2 2 2 3 3 ...
## $ y: int 1 2 3 4 1 2 3 4 1 2 ...
## $ w: num 1.04 1.05 1.01 1.01 1.99 ...
dat2 <- spread(dat,key=y,value=w)
dat2
x | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | 1.038865 | 1.053322 | 1.005396 | 1.014327 |
2 | 1.990383 | 2.080404 | 2.221801 | 2.154945 |
3 | 3.046071 | 2.966603 | 3.099124 | 2.889309 |
4 | 4.056317 | 4.011248 | 4.171194 | 3.863273 |
anovakun((dat2[,-1]),"sA",4,holm=TRUE,eta=TRUE)
##
## [ sA-Type Design ]
##
## This output was generated by anovakun 4.8.5 under R version 4.2.2.
## It was executed on Sat Jan 27 17:33:49 2024.
##
##
## << DESCRIPTIVE STATISTICS >>
##
## --------------------------
## A n Mean S.D.
## --------------------------
## a1 4 2.5329 1.3052
## a2 4 2.5279 1.2606
## a3 4 2.6244 1.3418
## a4 4 2.4805 1.2021
## --------------------------
##
##
## << SPHERICITY INDICES >>
##
## == Mendoza's Multisample Sphericity Test and Epsilons ==
##
## -------------------------------------------------------------------------
## Effect Lambda approx.Chi df p LB GG HF CM
## -------------------------------------------------------------------------
## A 0.0236 4.3016 5 0.5662 ns 0.3333 0.6074 1.4966 0.3333
## -------------------------------------------------------------------------
## LB = lower.bound, GG = Greenhouse-Geisser
## HF = Huynh-Feldt-Lecoutre, CM = Chi-Muller
##
##
## << ANOVA TABLE >>
##
## ----------------------------------------------------------
## Source SS df MS F-ratio p-value eta^2
## ----------------------------------------------------------
## s 19.5523 3 6.5174
## ----------------------------------------------------------
## A 0.0434 3 0.0145 2.1093 0.1693 ns 0.0022
## s x A 0.0617 9 0.0069
## ----------------------------------------------------------
## Total 19.6575 15 1.3105
## +p < .10, *p < .05, **p < .01, ***p < .001
##
##
## output is over --------------------///
要因yによる変動は有意でない。
ノンパラメトリックな手法であるFriedmanは順位統計量を用いる。
r<-c(rank(z[1:4]),rank(z[5:8]),rank(z[9:12]),rank(z[13:16]))
#r<-c(rank(w[1:4]),rank(w[5:8]),rank(w[9:12]),rank(w[13:16]))
datr <- mutate(dat,r=r)
str(datr)
## 'data.frame': 16 obs. of 4 variables:
## $ x: int 1 1 1 1 2 2 2 2 3 3 ...
## $ y: int 1 2 3 4 1 2 3 4 1 2 ...
## $ w: num 1.04 1.05 1.01 1.01 1.99 ...
## $ r: num 1 2 3 4 1 2 3 4 1 2 ...
boxplot(z~y,data=datr)
boxplot(r~y,data=datr)
dat1 <- datr[,-3]
#dat2 <- dat1[,-2]
dat3 <-spread(dat1,key=y,value=r)
dat3
x | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | 1 | 2 | 3 | 4 |
2 | 1 | 2 | 3 | 4 |
3 | 1 | 2 | 3 | 4 |
4 | 1 | 2 | 3 | 4 |
岩田先生の資料によれば、
\(S =\displaystyle
\dfrac{12}{bk(k+1)}\sum_{j=1}^k \biggl[ R_j -
\frac{b(k+1)}{2}\biggr]^2\) がFriedman統計量である。
Engineering Skills様によれば、次のように変形することができる。
\(\displaystyle {{\chi}_{0}}^{2} =\frac
{12}{nk(k+1)} \sum_{i=1}^{k}{ {R_i}^2 } - 3n(k+1)\).
\(\displaystyle {{\chi}_{0}}^{2} =\frac
{12n}{k(k+1)} \left( \sum_{i=1}^{k}{ {r_i}^2 } - \frac{k{(k+1)}^2}{4}
\right)\).
適合度検定なので、岩田先生の式がとりつきやすい。
変形は高校数学で可能であるが、ここでは立ち入らない。
市原先生は2番目の式で計算しているので、第2式で算出しよう。
colSums(dat3[,-1])
## 1 2 3 4
## 4 8 12 16
R <- sum(colSums(dat3[,-1])^2)
R
## [1] 480
chi <- (12/(4*4*5))*R-3*4*5
chi
## [1] 12
Friedman統計量は12となり、大きな値となっている。
library(tidyr)
data <- crossing(x = 1:4, y = 1:4)
x <- data$x
y <- data$y
x1 <- rank(runif(4)) ;x2 <-rank(runif(4));x3 <- rank(runif(4)) ;x4 <-rank(runif(4))
z <-c(x1,x2,x3,x4)
dat <- data.frame(x=x,y=y,z=z)
dat1 <-spread(dat,key=y,value=z)[,-1]
dat1
1 | 2 | 3 | 4 |
---|---|---|---|
3 | 2 | 1 | 4 |
2 | 3 | 4 | 1 |
3 | 2 | 4 | 1 |
4 | 3 | 1 | 2 |
apply(dat1, 2, sum)
## 1 2 3 4
## 12 10 10 8
R <-sum(apply(dat1, 2, sum)^2)
R
## [1] 408
chi <- (12/(4*4*5))*R-3*4*5
chi
## [1] 1.2
ch <-6*var(apply(dat1, 2, mean))*3/2.5
ch
## [1] 1.2
chiとchは同じ統計量になるようであるが、確かめには立ち入らない。
要因による効果がない場合、Friedman統計量は小さくなっている。
以下に帰無仮説のもとでのシミュレーションを示す。
12が有意な値であることがわかる。
一様乱数runifを用いる。
library(tidyr)
data <- crossing(x = 1:4, y = 1:4);#data
x <- data$x
y <- data$y
s = c();t =c()
for (i in 1:1000) {
x1 <- rank(runif(4)) ;x2 <-rank(runif(4));x3 <- rank(runif(4)) ;x4 <-rank(runif(4))
z <-c(x1,x2,x3,x4)
dat <- data.frame(x=x,y=y,z=z)
dat1 <-spread(dat,key=y,value=z)[,-1]
R <-sum(apply(dat1, 2, sum)^2)
chi <- (12/(4*4*5))*R-3*4*5
ch <-6*var(apply(dat1, 2, mean))*3/2.5
s <-c(s,chi)
t <-c(t,ch)
}
hist(s,prob=T)
curve(dchisq(x,3),add=T)
hist(t,prob=T)
curve(dchisq(x,3),add=T)
mean(s)
## [1] 3.081
var(s)
## [1] 4.765685
mean(t)
## [1] 3.081
var(t)
## [1] 4.765685
https://power-of-awareness.com/entry/2022/09/27/050000
https://oceanone.hatenablog.com/entry/2021/08/11/020933
期待値はカイ二乗統計量のものだが、カイ二乗分布との一致は良いとはいえない。分散は異なっている。
近似するには k>4 である必要がある。 k=5 としてみる。
library(tidyr)
data <- crossing(x = 1:5, y = 1:5);#data
x <- data$x
y <- data$y
s = c()
for (i in 1:1000) {
x1 <- rank(runif(5)) ;x2 <-rank(runif(5));x3 <- rank(runif(5)) ;x4 <-rank(runif(5));x5 <-rank(runif(5))
z <-c(x1,x2,x3,x4,x5)
dat <- data.frame(x=x,y=y,z=z)
dat1 <-spread(dat,key=y,value=z)[,-1]
R <-sum(apply(dat1, 2, sum)^2)
chi <- (12/(5*5*6))*R-3*5*6
s <-c(s,chi)
}
hist(s,prob=T)
curve(dchisq(x,4),add=T)
mean(s)
## [1] 4.0168
var(s)
## [1] 6.744305
ヒストグラムはカイ二乗分布に近くなり、期待値も理論値に近いが、分散はあてはまりがよくないようである。
a1<- c(293,240,208,260)
a2<- c(154,145,130,167)
a3<- c(180,130,150,160)
a4<- c(195,160,180,172)
data<-data.frame(A=factor(c(rep("a1",4),rep("a2",4),rep("a3",4),rep("a4",4))),B=factor(rep(c(rep("b1",1),rep("b2",1),rep("b3",1),rep("b4",1)),4)),y= c(a1,a2,a3,a4))
data
A | B | y |
---|---|---|
a1 | b1 | 293 |
a1 | b2 | 240 |
a1 | b3 | 208 |
a1 | b4 | 260 |
a2 | b1 | 154 |
a2 | b2 | 145 |
a2 | b3 | 130 |
a2 | b4 | 167 |
a3 | b1 | 180 |
a3 | b2 | 130 |
a3 | b3 | 150 |
a3 | b4 | 160 |
a4 | b1 | 195 |
a4 | b2 | 160 |
a4 | b3 | 180 |
a4 | b4 | 172 |
dat1 <- spread(data,key=B,value=y)
dat1
A | b1 | b2 | b3 | b4 |
---|---|---|---|---|
a1 | 293 | 240 | 208 | 260 |
a2 | 154 | 145 | 130 | 167 |
a3 | 180 | 130 | 150 | 160 |
a4 | 195 | 160 | 180 | 172 |
これは患者をブロック要因とする乱塊法と同じである。
anovakun((dat1[-1]),"sA",4,holm=TRUE,eta=TRUE)
##
## [ sA-Type Design ]
##
## This output was generated by anovakun 4.8.5 under R version 4.2.2.
## It was executed on Sat Jan 27 17:33:55 2024.
##
##
## << DESCRIPTIVE STATISTICS >>
##
## -----------------------------
## A n Mean S.D.
## -----------------------------
## a1 4 205.5000 60.7426
## a2 4 168.7500 49.0535
## a3 4 167.0000 34.1955
## a4 4 189.7500 47.0912
## -----------------------------
##
##
## << SPHERICITY INDICES >>
##
## == Mendoza's Multisample Sphericity Test and Epsilons ==
##
## -------------------------------------------------------------------------
## Effect Lambda approx.Chi df p LB GG HF CM
## -------------------------------------------------------------------------
## A 0.0754 2.9673 5 0.7454 ns 0.3333 0.6214 1.6018 0.3333
## -------------------------------------------------------------------------
## LB = lower.bound, GG = Greenhouse-Geisser
## HF = Huynh-Feldt-Lecoutre, CM = Chi-Muller
##
##
## << ANOVA TABLE >>
##
## ----------------------------------------------------------------
## Source SS df MS F-ratio p-value eta^2
## ----------------------------------------------------------------
## s 26005.5000 3 8668.5000
## ----------------------------------------------------------------
## A 4042.5000 3 1347.5000 4.9642 0.0266 * 0.1244
## s x A 2443.0000 9 271.4444
## ----------------------------------------------------------------
## Total 32491.0000 15 2166.0667
## +p < .10, *p < .05, **p < .01, ***p < .001
##
##
## << POST ANALYSES >>
##
## < MULTIPLE COMPARISON for "A" >
##
## == Holm's Sequentially Rejective Bonferroni Procedure ==
## == The factor < A > is analysed as dependent means. ==
## == Alpha level is 0.05. ==
##
## -----------------------------
## A n Mean S.D.
## -----------------------------
## a1 4 205.5000 60.7426
## a2 4 168.7500 49.0535
## a3 4 167.0000 34.1955
## a4 4 189.7500 47.0912
## -----------------------------
##
## -----------------------------------------------------------
## Pair Diff t-value df p adj.p
## -----------------------------------------------------------
## a2-a4 -21.0000 5.6805 3 0.0108 0.0649 a2 = a4
## a1-a2 36.7500 3.6556 3 0.0354 0.1768 a1 = a2
## a1-a3 38.5000 2.4362 3 0.0928 0.3713 a1 = a3
## a3-a4 -22.7500 1.6930 3 0.1890 0.5671 a3 = a4
## a1-a4 15.7500 1.5785 3 0.2126 0.5671 a1 = a4
## a2-a3 1.7500 0.1343 3 0.9017 0.9017 a2 = a3
## -----------------------------------------------------------
##
##
## output is over --------------------///
<< SPHERICITY INDICES >> 球面性の検定であるが、有意となっていないので分散分析が可能と判断できる。
str(data)
## 'data.frame': 16 obs. of 3 variables:
## $ A: Factor w/ 4 levels "a1","a2","a3",..: 1 1 1 1 2 2 2 2 3 3 ...
## $ B: Factor w/ 4 levels "b1","b2","b3",..: 1 2 3 4 1 2 3 4 1 2 ...
## $ y: num 293 240 208 260 154 145 130 167 180 130 ...
boxplot(y~B,data=data)
summary(aov(y~A,data=data))
## Df Sum Sq Mean Sq F value Pr(>F)
## A 3 26006 8669 16.04 0.000169 ***
## Residuals 12 6485 540
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov(y~B,data=data))
## Df Sum Sq Mean Sq F value Pr(>F)
## B 3 4043 1348 0.568 0.646
## Residuals 12 28448 2371
summary(aov(y~A+B,data=data))
## Df Sum Sq Mean Sq F value Pr(>F)
## A 3 26006 8669 31.935 3.98e-05 ***
## B 3 4043 1348 4.964 0.0266 *
## Residuals 9 2443 271
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov(y~B+A,data=data))
## Df Sum Sq Mean Sq F value Pr(>F)
## B 3 4043 1348 4.964 0.0266 *
## A 3 26006 8669 31.935 3.98e-05 ***
## Residuals 9 2443 271
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
乱塊法(被験者内計画)は2元配置分散分析と同じ計算をしている。ブロック間変動を誤差から取り除いて1元配置分散分析を行うことになり検出力が上がる。
分散分析は正規性と等分散性を前提としている。
ノンパラメトリックであるFriedman検定をRの関数で実行してみる。
friedman.test(y=as.matrix(dat1[,-1]))
##
## Friedman rank sum test
##
## data: as.matrix(dat1[, -1])
## Friedman chi-squared = 8.1, df = 3, p-value = 0.04399
P値は大きめになっており、検定が厳し目になっていることがわかる。
a1<- c(493,582,530,497,711,565)
a2<- c(929,730,493,524,414,877)
a3<- c(497,581,382,330,534,1134)
a4<- c(432,615,451,392,1437,1442)
a5<- c(729,818,463,440,437,550)
data<-data.frame(A=factor(c(rep("a1",6),rep("a2",6),rep("a3",6),rep("a4",6),rep("a5",6))),B=factor(rep(c(rep("b1",1),rep("b2",1),rep("b3",1),rep("b4",1),rep("b5",1),rep("b6",1)),5)),y= c(a1,a2,a3,a4,a5))
data
A | B | y |
---|---|---|
a1 | b1 | 493 |
a1 | b2 | 582 |
a1 | b3 | 530 |
a1 | b4 | 497 |
a1 | b5 | 711 |
a1 | b6 | 565 |
a2 | b1 | 929 |
a2 | b2 | 730 |
a2 | b3 | 493 |
a2 | b4 | 524 |
a2 | b5 | 414 |
a2 | b6 | 877 |
a3 | b1 | 497 |
a3 | b2 | 581 |
a3 | b3 | 382 |
a3 | b4 | 330 |
a3 | b5 | 534 |
a3 | b6 | 1134 |
a4 | b1 | 432 |
a4 | b2 | 615 |
a4 | b3 | 451 |
a4 | b4 | 392 |
a4 | b5 | 1437 |
a4 | b6 | 1442 |
a5 | b1 | 729 |
a5 | b2 | 818 |
a5 | b3 | 463 |
a5 | b4 | 440 |
a5 | b5 | 437 |
a5 | b6 | 550 |
dat1 <- spread(data,key=B,value=y)
dat1
A | b1 | b2 | b3 | b4 | b5 | b6 |
---|---|---|---|---|---|---|
a1 | 493 | 582 | 530 | 497 | 711 | 565 |
a2 | 929 | 730 | 493 | 524 | 414 | 877 |
a3 | 497 | 581 | 382 | 330 | 534 | 1134 |
a4 | 432 | 615 | 451 | 392 | 1437 | 1442 |
a5 | 729 | 818 | 463 | 440 | 437 | 550 |
anovakun((dat1[-1]),"sA",6,holm=TRUE,eta=TRUE)
##
## [ sA-Type Design ]
##
## This output was generated by anovakun 4.8.5 under R version 4.2.2.
## It was executed on Sat Jan 27 17:33:55 2024.
##
##
## << DESCRIPTIVE STATISTICS >>
##
## ------------------------------
## A n Mean S.D.
## ------------------------------
## a1 5 616.0000 208.4970
## a2 5 665.2000 104.9748
## a3 5 463.8000 54.9791
## a4 5 436.6000 78.5035
## a5 5 706.6000 424.7332
## a6 5 913.6000 381.7228
## ------------------------------
##
##
## << SPHERICITY INDICES >>
##
## == Mendoza's Multisample Sphericity Test and Epsilons ==
##
## -------------------------------------------------------------------------
## Effect Lambda approx.Chi df p LB GG HF CM
## -------------------------------------------------------------------------
## A 0.0000 89.7376 14 0.0000 *** 0.2000 0.2998 0.4394 0.2000
## -------------------------------------------------------------------------
## LB = lower.bound, GG = Greenhouse-Geisser
## HF = Huynh-Feldt-Lecoutre, CM = Chi-Muller
##
##
## << ANOVA TABLE >>
##
## --------------------------------------------------------------------
## Source SS df MS F-ratio p-value eta^2
## --------------------------------------------------------------------
## s 232275.1333 4 58068.7833
## --------------------------------------------------------------------
## A 763391.7667 5 152678.3533 2.3013 0.0834 + 0.3287
## s x A 1326872.0667 20 66343.6033
## --------------------------------------------------------------------
## Total 2322538.9667 29 80087.5506
## +p < .10, *p < .05, **p < .01, ***p < .001
##
##
## << POST ANALYSES >>
##
## < MULTIPLE COMPARISON for "A" >
##
## == Holm's Sequentially Rejective Bonferroni Procedure ==
## == The factor < A > is analysed as dependent means. ==
## == Alpha level is 0.05. ==
##
## ------------------------------
## A n Mean S.D.
## ------------------------------
## a1 5 616.0000 208.4970
## a2 5 665.2000 104.9748
## a3 5 463.8000 54.9791
## a4 5 436.6000 78.5035
## a5 5 706.6000 424.7332
## a6 5 913.6000 381.7228
## ------------------------------
##
## ------------------------------------------------------------
## Pair Diff t-value df p adj.p
## ------------------------------------------------------------
## a2-a4 228.6000 4.8746 4 0.0082 0.1229 a2 = a4
## a2-a3 201.4000 4.0862 4 0.0150 0.2103 a2 = a3
## a4-a6 -477.0000 2.4590 4 0.0698 0.9070 a4 = a6
## a3-a6 -449.8000 2.4177 4 0.0729 0.9070 a3 = a6
## a1-a4 179.4000 2.3543 4 0.0781 0.9070 a1 = a4
## a3-a4 27.2000 1.7092 4 0.1626 1.0000 a3 = a4
## a1-a3 152.2000 1.7017 4 0.1640 1.0000 a1 = a3
## a5-a6 -207.0000 1.4744 4 0.2144 1.0000 a5 = a6
## a4-a5 -270.0000 1.3277 4 0.2550 1.0000 a4 = a5
## a1-a6 -297.6000 1.3159 4 0.2586 1.0000 a1 = a6
## a3-a5 -242.8000 1.2621 4 0.2755 1.0000 a3 = a5
## a2-a6 -248.4000 1.2619 4 0.2755 1.0000 a2 = a6
## a1-a2 -49.2000 0.7597 4 0.4897 1.0000 a1 = a2
## a1-a5 -90.6000 0.3464 4 0.7465 1.0000 a1 = a5
## a2-a5 -41.4000 0.1919 4 0.8572 1.0000 a2 = a5
## ------------------------------------------------------------
##
##
## output is over --------------------///
<< SPHERICITY INDICES >> 球面性の検定は有意となっているので、ノンパラメトリックな検定を適用する必要がある。
バートレット検定でも、
bartlett.test(formula=data$y~data$B)
##
## Bartlett test of homogeneity of variances
##
## data: data$y by data$B
## Bartlett's K-squared = 21.034, df = 5, p-value = 0.0007981
等分散仮説は棄却される。
friedman.test(y=as.matrix(dat1[,-1]))
##
## Friedman rank sum test
##
## data: as.matrix(dat1[, -1])
## Friedman chi-squared = 10.943, df = 5, p-value = 0.05252
参考サイト.
https://zenn.dev/tmizuho/books/3d511e017bfd23/viewer/61b380