Извлечение p-значения из вывода Крускала-Уоллиса

Скажем, у меня есть dataframe

> 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

Я провел тест 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

Я хочу сделать, чтобы извлечь значение p в вектор (только значение без метки "p-value" ). Я пробовал это:

> dfKWx<-sapply(dfKW, '[', 'p.value')
> dfKWx
statistic.NA parameter.NA p.value method data.name 
 NA NA NA NA NA

Не повезло, очевидно.

Первоначальная помощь, которую я получил от профессора Google, привела меня к тому, что я описал выше.

Вся помощь искренне ценится. Спасибо!

PS. Обратите внимание, что данные приведены только для примера. Я не тестировал нормальное распространение и не хочу этого делать с этими данными. Мои исходные рабочие данные не распространяются нормально, но я не буду использовать его - или его части - в качестве примера из-за факторов конфиденциальности. Данные примера ведут себя аналогично моим исходным рабочим данным.

1 ответ

Это даст вам значение p как numeric:

> dfKW$p.value
[1] 0.1929473

Посмотрите раздел "Значение" в ?kruskal.test.

licensed under cc by-sa 3.0 with attribution.