trovare il valore p nella correlazione di Pearson in R


26

È possibile trovare il valore p nella correlazione di Pearson in R?

Per trovare la correlazione di Pearson, di solito lo faccio

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

Ma come posso trovare il valore p di questo?


1
L'aiuto su cor( ?cor) menziona esplicitamentecor.test (sotto "Vedi anche")
Glen_b -Reinstate Monica

Risposte:


32

puoi usare cor.test:

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

che 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    

Maggiori informazioni su statistiche e parametri extra nella pagina ufficiale:

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


grazie, non abbastanza punti per votare, usato però
tubby

9

Se vuoi solo il valore P:

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

7

Quanto segue farà come da lei richiesto:

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

Qui x è un frame di dati e rcorr restituisce ogni correlazione che è possibile formare dal frame di dati "x".

Oppure potresti calcolare tu stesso la statistica:

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

ρ^


Grazie, ma cos'è x? Penso che sia una concatenazione di col1 e col2 perché abbiamo bisogno di due vettori per calcolare la correlazione di Pearson. Ma puoi dirmi cos'è x?
tubby

È un frame di dati, vedi il mio aggiornamento.
Repmat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.