Нахождение р-значения в корреляции Пирсона в 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

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

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

> cor.test(col1,col2)$p.value
[1] 0.1684782
rnso
источник
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

ρ^

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