Нахождение р-значения в корреляции Пирсона в R


26

Можно ли найти значение р в корреляции Пирсона в R?

Чтобы найти корреляцию Пирсона, я обычно делаю это

col1 = c(1,2,3,4)
col2 = c(1,4,3,5)
cor(col1,col2)
# [1] 0.8315218

Но как я могу найти р-значение этого?


1
В справке по cor( ?cor) явно упоминается cor.test(в разделе «См. Также»)
Glen_b

Ответы:


32

Вы можете использовать cor.test:

col1 = c(1,2,3,4) 
col2 = c(1,4,3,5)
cor.test(col1,col2) 

который дает :

# Pearson's product-moment correlation   
# data:  col1 and col2   
# t = 2.117, df = 2, p-value = 0.1685   
# alternative hypothesis: true correlation is not equal to 0   
# 95 percent confidence interval:   
#  -0.6451325  0.9963561   
# sample estimates:   
#       cor    
# 0.8315218    

Более подробная информация о статистике и дополнительных параметрах на официальной странице:

https://stat.ethz.ch/R-manual/R-patched/library/stats/html/cor.test.html


спасибо, не хватает баллов, чтобы набрать голос, хотя использовал его
пузатый

9

Если вы хотите только значение P:

> cor.test(col1,col2)$p.value
[1] 0.1684782

7

Следующее будет делать, как вы просите:

 library(Hmisc) # You need to download it first.
 rcorr(x, type="pearson") # type can be pearson or spearman

Здесь x - фрейм данных, а rcorr возвращает каждую корреляцию, которую можно сформировать из фрейма данных «x».

Или вы можете рассчитать статистику самостоятельно:

Tзнак равноρ^1-ρ^2N-2

ρ^


Спасибо, но что такое х? Я думаю, что это некоторая конкатенация col1 и col2, потому что нам нужны два вектора для вычисления корреляции Пирсона. Но вы можете сказать мне, что такое х?
пухлый

Это фрейм данных, смотрите мое обновление.
Репмат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.