从 Kruskal-Wallis 输出中提取 p 值

Oll*_*i J 5 r data-extraction kruskal-wallis

假设我有一个数据框

> 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
Run Code Online (Sandbox Code Playgroud)

我已经用我所拥有的数据进行了 Kruskal-Wallis 测试df

> 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
Run Code Online (Sandbox Code Playgroud)

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

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

statistic.NA parameter.NA      p.value       method    data.name 
          NA           NA           NA           NA           NA 
Run Code Online (Sandbox Code Playgroud)

显然,运气不好。

我从谷歌教授那里得到的最初帮助使我达到了上面所描述的观点。

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

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

S. *_*ica 4

这将为您提供 p 值numeric

> dfKW$p.value
[1] 0.1929473
Run Code Online (Sandbox Code Playgroud)

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