如何在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.

以上是 如何在R中对Kruskal-Wallis执行事后测试? 的全部内容, 来源链接: utcz.com/z/357602.html

回到顶部