从 Kruskal-Wallis 输出中提取 p 值

Posted

技术标签:

【中文标题】从 Kruskal-Wallis 输出中提取 p 值【英文标题】:Extract p-value from Kruskal-Wallis output 【发布时间】:2015-04-11 19:53:26 【问题描述】:

假设我有一个数据框

> col1<-c(1,5,2,6,8,1,3,8,9,1,8)
> col2<-c(1,2,1,1,2,2,1,2,2,1,1)
> df<-data.frame(col1,col2)
> df

   col1 col2
1     1    1
2     5    2
3     2    1
4     6    1
5     8    2
6     1    2
7     3    1
8     8    2
9     9    2
10    1    1
11    8    1

我使用df 中的数据运行了 Kruskal-Wallis 检验

> dfKW<-kruskal.test(col1~col2, data=df)
> dfKW

Kruskal-Wallis rank sum test

data:  col1 by col2
Kruskal-Wallis chi-squared = 1.695, df = 1, p-value = 0.1929

我想要做的是将 p 值提取到向量中(只有没有标签“p 值”的值)。我试过这个:

> dfKWx<-sapply(dfKW, '[', 'p.value')
> dfKWx

statistic.NA parameter.NA      p.value       method    data.name 
          NA           NA           NA           NA           NA 

显然没有运气。

从谷歌教授那里得到的初步帮助使我达到了上面描述的目的。

衷心感谢所有帮助。谢谢!

PS。请注意,数据仅用于提供示例。我没有测试正态分布,也不希望对这些数据进行测试。我的原始工作数据没有正常分发,但由于保密因素,我不会使用它——或它的一部分——作为例子。示例数据的行为与我的原始工作数据类似。

【问题讨论】:

names(dfKW)str(dfKW) 对于查看可以提取哪些对象很有用 【参考方案1】:

这会给你 p 值作为numeric

> dfKW$p.value
[1] 0.1929473

查看?kruskal.test 中的“值”部分。

【讨论】:

谢谢!我有一个臭名昭著的倾向于浏览手册。现在我希望我能再给一次。

以上是关于从 Kruskal-Wallis 输出中提取 p 值的主要内容,如果未能解决你的问题,请参考以下文章

带有调整 p 值的 R 的 Kruskal-Wallis 检验

R - stat_compare_means 从 Kruskal-Wallis 测试返回不同的值

ggpubr:更改 stat_compare_means Kruskal-Wallis p 值的字体大小

显示 Kruskal-Wallis 测试等级

在进行 Kruskal-Wallis 之后,我应该进行哪些事后测试?

从 R 中的测试中提取 p 值