trouver la valeur de p dans la corrélation de Pearson dans R

26

Est-il possible de trouver la valeur de p dans la corrélation de Pearson dans R?

Pour trouver la corrélation Pearson, je fais habituellement ceci

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

Mais comment puis-je trouver la valeur de p de cela?

tubby
la source
1
L'aide sur cor( ?cor) mentionne explicitementcor.test (sous "Voir aussi")
Glen_b -Reinstate Monica

Réponses:

32

vous pouvez utiliser cor.test:

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

qui donne :

# 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    

Plus d'informations sur les statistiques et les paramètres supplémentaires sur la page officielle:

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

brumar
la source
merci, pas assez de points pour voter, je l'ai utilisé
tubby
9

Si vous ne voulez que la valeur P:

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

Ce qui suit fera ce que vous demandez:

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

Ici x est une trame de données, et rcorr renvoie toutes les corrélations qu'il est possible de former à partir de la trame de données "x".

Ou vous pouvez calculer vous-même la statistique:

t=ρ^1-ρ^2n-2

ρ^

Repmat
la source
Merci, mais qu'est-ce que x? Je pense que c'est une concaténation de col1 et col2 parce que nous avons besoin de deux vecteurs pour calculer la corrélation de Pearson. Mais pouvez-vous me dire ce qu'est x?
tubby
Il s'agit d'un bloc de données, voir ma mise à jour.
Repmat