Encontrar el valor p en la correlación de Pearson en R


26

¿Es posible encontrar el valor p en la correlación de pearson en R?

Para encontrar la correlación de Pearson, generalmente hago esto

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

Pero, ¿cómo puedo encontrar el valor p de esto?


1
La ayuda en cor( ?cor) explícitamente menciona cor.test(en "Véase también")
Glen_b -Reinstate Mónica

Respuestas:


32

puedes usar cor.test:

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

lo que da :

# 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    

Más información sobre las estadísticas y parámetros adicionales en la página oficial:

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


gracias, no hay suficientes puntos para votar, aunque lo usé
rechoncho

9

Si solo desea el valor P:

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

7

Lo siguiente hará lo que pida:

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

Aquí x es un marco de datos, y rcorr devuelve cada correlación que es posible formar a partir del marco de datos "x".

O puede calcular la estadística usted mismo:

t=ρ^1ρ^2n2

Donde es la correlación de Pearson estimada a partir de los datos, y n es el tamaño de la muestra.ρ^


Gracias, pero ¿qué es x? Creo que es una concatenación de col1 y col2 porque necesitamos dos vectores para calcular la correlación de Pearson. Pero, ¿puedes decirme qué es x?
rechoncho

Es un marco de datos, mira mi actualización.
Repmat
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.