Finden des p-Wertes in der Pearson-Korrelation in R

26

Ist es möglich, den p-Wert in der Pearson-Korrelation in R zu finden?

Um die Pearson-Korrelation zu finden, mache ich das normalerweise

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

Aber wie finde ich den p-Wert davon?

tubby
quelle
1
Die Hilfe auf cor( ?cor) ausdrücklich erwähnt cor.test(unter „Siehe auch“)
Glen_b -Reinstate Monica

Antworten:

32

Sie können verwenden cor.test:

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

was gibt:

# 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    

Weitere Informationen zu den Statistiken und zusätzlichen Parametern auf der offiziellen Seite:

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

brumar
quelle
Danke, nicht genug Punkte, um zu stimmen, habe es aber genutzt
bis
9

Wenn Sie nur den P-Wert wollen:

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

Folgendes wird tun, was Sie fragen:

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

Hier ist x ein Datenrahmen, und rcorr gibt jede Korrelation zurück, die aus dem "x" -Datenrahmen gebildet werden kann.

Oder Sie können die Statistik selbst berechnen:

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

ρ^

Repmat
quelle
Danke, aber was ist x? Ich denke, es ist eine Verkettung von col1 und col2, weil wir zwei Vektoren benötigen, um die Pearson-Korrelation zu berechnen. Aber kannst du mir sagen, was x ist?
Tubby
Es ist ein Datenrahmen, siehe mein Update.
Repmat