encontrar valor p na correlação de pearson em R


26

É possível encontrar o valor p na correlação de pearson em R?

Para encontrar a correlação de Pearson, costumo fazer isso

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

Mas como posso encontrar o valor p disso?


11
A ajuda em cor( ?cor) menciona explicitamentecor.test (em "Veja também")
Glen_b -Reinstate Monica

Respostas:


32

você pode usar cor.test:

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

que dá :

# 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    

Mais informações sobre estatísticas e parâmetros extras na página oficial:

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


graças, e não pontos suficientes para upvote, usou-o embora
tubby

9

Se você deseja apenas o valor P:

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

7

O seguinte fará o que você pede:

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

Aqui x é um quadro de dados e rcorr retorna todas as correlações que é possível formar a partir do quadro de dados "x".

Ou você mesmo pode calcular a estatística:

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

ρ^


Obrigado, mas o que é x? Eu acho que é uma concatenação de col1 e col2 porque precisamos de dois vetores para calcular a correlação de pearson. Mas você pode me dizer o que é x?
quer

É um quadro de dados, veja minha atualização.
Repmat
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.