在 R 中,我将组与 dunn.test 进行比较。这是一些示例数据,其中“type”是分组变量:
my_table <- data.frame ("type" = c (rep ("low", 5), rep ("mid", 5), rep ("high", 5)),
"var_A" = rnorm (15),
"var_B" = c (rnorm (5), rnorm (5, 4, 0.1), rnorm (5, 12, 2))
)
我想将变量var_A
和var_B
三组之间的变量与 进行比较dunn.test ()
,得出以下结果:
library (dunn.test)
dunn.test (my_table$var_A, my_table$type)
> Kruskal-Wallis rank sum test
>
> data: x and group
> Kruskal-Wallis chi-squared = 6.08, df = 2, p-value = 0.05
>
>
> Comparison of x by group
> (No adjustment)
> Col Mean-|
> Row Mean | high low
> ---------+----------------------
> low | 0.919238
> | 0.1790
> |
> mid | 0.989949 0.070710
> | 0.1611 0.4718
>
> alpha = 0.05
> Reject Ho if p <= alpha/2
和
dunn.test (my_table$var_B, my_table$type)
> Kruskal-Wallis rank sum test
>
> data: x and group
> Kruskal-Wallis chi-squared = 12.5, df = 2, p-value = 0
>
>
> Comparison of x by group
> (No adjustment)
> Col Mean-|
> Row Mean | high low
> ---------+----------------------
> low | 3.535533
> | 0.0002*
> |
> mid | 1.767766 -1.767766
> | 0.0385 0.0385
>
> alpha = 0.05
> Reject Ho if p <= alpha/2
我知道对于 var_A,我看不出三组之间有任何显着差异。对于 var_B,组“低”和“高”显着不同。在展示结果时,我可以选择一个表格,例如
library (tidyverse)
data.frame ("low" = my_table %>%
filter (type == "low") %>%
select (c ("var_A", "var_B")) %>%
sapply (mean) %>%
round (digits = 2),
"mid" = my_table %>%
filter (type == "mid") %>%
select (c ("var_A", "var_B")) %>%
sapply (mean) %>%
round (digits = 2),
"high" = my_table %>%
filter (type == "high") %>%
select (c ("var_A", "var_B")) %>%
sapply (mean) %>%
round (digits = 2 )
)
> low mid high
> var_A 0.14 -0.10 0.74
> var_B -0.41 3.97 11.44
我想要实现的是添加字符以指示dunn.test
. 这可能看起来像
> low mid high
> var_A 0.14 a -0.10 a 0.74 a
> var_B -0.41 a 3.97 ab 11.44 b
所以,我的长而短的问题是:我如何告诉dunn.test
函数输出分组字符(例如“a”、“ab”或“b”)。或者是否有解决方法来获得所需的字符?