如何在 R 中對 Kruskal-Wallis 進行事後檢驗?


Kruskal-Wallis 檢驗是非引數的一元方差分析類似物。當不滿足引數檢驗的假設時,將使用非引數檢驗。如果我們在 Kruskal-Wallis 中發現有顯著差異,那麼會進行事後檢驗以找出差異所在。為此,我們可以執行 Dunn 檢驗。可透過 FSA 軟體包訪問 Dunn 檢驗的功能。

示例 1

載入 FSA 軟體包

> library(FSA)

考慮以下資料幀

即時演示

> x1<-sample(LETTERS[1:5],20,replace=TRUE)
> y1<-rnorm(20,1,0.35)
> df1<-data.frame(x1,y1)
> df1

輸出

  x1    y1
1 E 1.1191117
2 D 1.1276032
3 D 1.5610692
4 E 1.1585054
5 E 1.0239322
6 C 0.8000165
7 C 1.2009313
8 B 1.1928228
9 A 0.7421504
10 B 0.7212436
11 C 1.4088902
12 B 1.3171291
13 D 0.9434812
14 A 0.7986718
15 C 1.0394762
16 A 0.9239324
17 E 1.1447561
18 D 1.0192032
19 B 0.8772467
20 A 0.5723085

執行 dunnTest

示例

> dunnTest(y1~x1,data=df1)
Dunn (1964) Kruskal-Wallis multiple comparison
p-values adjusted with the Holm method.

輸出

Comparison Z P.unadj P.adj
1  A - B -1.61355862 0.10662320 0.7463624
2  A - C -2.21117293 0.02702386 0.2702386
3  B - C -0.59761430 0.55009732 1.0000000
4  A - D -2.09165007 0.03646983 0.2917586
5  B - D -0.47809144 0.63258512 1.0000000
6  C - D  0.11952286 0.90486113 1.0000000
7  A - E -2.15141150 0.03144373 0.2829936
8  B - E -0.53785287 0.59067863 1.0000000
9  C - E  0.05976143 0.95234564 1.0000000
10 D - E -0.05976143 0.95234564 0.9523456
Warning message:
x1 was coerced to a factor.

示例 2

即時演示

> x2<-sample(c("India","Russia","China","Croatia"),20,replace=TRUE)
> y2<-rpois(20,5)
> df2<-data.frame(x2,y2)
> df2

輸出

   x2    y2
1 Russia 0
2 Russia 6
3 Croatia 8
4 Croatia 5
5 Russia 5
6 Croatia 9
7 India 9
8 Croatia 6
9 India 4
10 China 1
11 Croatia 7
12 China 3
13 India 3
14 India 4
15 Croatia 6
16 China 7
17 China 8
18 Croatia 10
19 India 8
20 China 7

示例

> dunnTest(y2~x2,data=df2)
Dunn (1964) Kruskal-Wallis multiple comparison
p-values adjusted with the Holm method.

輸出

Comparison Z P.unadj P.adj
1 China - Croatia -1.18245422 0.23702552 1.0000000
2 China - India -0.08066504 0.93570834 0.9357083
3 Croatia - India 1.09532601 0.27337384 1.0000000
4 China - Russia 0.77619975 0.43763106 0.8752621
5 Croatia - Russia 1.82479827 0.06803148 0.4081889
6 India - Russia 0.84605772 0.39752054 1.0000000
Warning message:
x2 was coerced to a factor.

示例 3

即時演示

> x3<-sample(c("G1","G2","G3","G4","G5"),20,replace=TRUE)
> y3<-rexp(20,1.34)
> df3<-data.frame(x3,y3)
> df3

輸出

   x3    y3
1  G2 1.89169184
2  G3 2.74074462
3  G3 0.17273122
4  G2 0.34856852
5  G2 0.80544065
6  G1 0.54582070
7  G2 0.24551988
8  G5 0.02546690
9  G3 2.86315652
10 G1 0.43704405
11 G1 1.89036598
12 G5 0.02423629
13 G5 0.03848270
14 G1 1.01897322
15 G1 0.44416202
16 G5 0.96637068
17 G2 0.74919567
18 G5 3.24106689
19 G1 1.22994992
20 G3 0.84658591

示例

> dunnTest(y3~x3,data=df3)
Dunn (1964) Kruskal-Wallis multiple comparison
p-values adjusted with the Holm method.

輸出

Comparison Z P.unadj P.adj
1 G1 - G2 0.4745469 0.6351099 1.0000000
2 G1 - G3 -0.4582576 0.6467674 0.6467674
3 G2 - G3 -0.8693183 0.3846731 1.0000000
4 G1 - G5 1.0328375 0.3016800 1.0000000
5 G2 - G5 0.5345225 0.5929801 1.0000000
6 G3 - G5 1.3732709 0.1696681 1.0000000
Warning message:
x3 was coerced to a factor.

更新於: 2020-11-21

6K+ 瀏覽次數

開啟你的 事業

完成課程後獲得認證

開始
廣告
© . All rights reserved.