R'de pearson korelasyonunda p-değeri bulma


26

P-değerini R'de pearson korelasyonunda bulmak mümkün müdür?

Pearson korelasyonunu bulmak için, genellikle bunu yaparım.

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

Fakat bunun p değerini nasıl bulabilirim?


1
cor( ?cor) Yardımını açıkça belirtiyor cor.test("Ayrıca Bkz."
Altında

Yanıtlar:


32

kullanabilirsiniz cor.test:

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

hangi verir:

# 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    

Resmi sayfada istatistikler ve ekstra parametreler hakkında daha fazla bilgi:

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


teşekkürler, oy vermek için yeterli puan yok, yine de kullandı
tubby

9

Yalnızca P değerini istiyorsanız:

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

7

İstediğiniz gibi aşağıdakiler olacaktır:

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

Burada x bir veri çerçevesidir ve rcorr "x" veri çerçevesinden oluşturulabildiği her korelasyonu döndürür.

Veya istatistiği kendiniz hesaplayabilirsiniz:

t=ρ^1ρ^2n2

Burada verilerden tahmin edilen pearson korelasyonu, n ise örneklem büyüklüğüdür.ρ^


Teşekkürler, ama x nedir? Bence bu col1 ve col2'nin birleştirilmesi, çünkü pearson korelasyonunu hesaplamak için iki vektöre ihtiyacımız var. Ama bana x'in ne olduğunu söyleyebilir misin?
tubby

Bu bir veri çerçevesi, güncellememe bakın.
Repmat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.