在R的皮尔逊相关中找到p值


26

是否有可能在R中的皮尔逊相关中找到p值?

为了找到皮尔逊相关性,我通常这样做

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

但是我如何找到这个的p值呢?


1
cor?cor)上的帮助明确提及cor.test(在“另请参阅”下)
Glen_b-恢复莫妮卡

Answers:


32

您可以使用cor.test

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

这使 :

# 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    

有关统计信息和其他参数的更多信息,请访问官方页面:

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


谢谢,没有足够的分数来支持,尽管使用了它
tubby

9

如果只需要P值:

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

7

以下将按照您的要求进行:

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

这里x是一个数据帧,rcorr返回可能从“ x”数据帧形成的每个相关性。

或者,您可以自己计算统计信息:

Ť=ρ^1个-ρ^2ñ-2

其中是根据数据估算出的皮尔逊相关性,n是样本大小。ρ^


谢谢,但是x是什么?我认为这是col1和col2的串联,因为我们需要两个向量来计算皮尔逊相关性。但是你能告诉我x是多少吗?
短粗

这是一个数据框,请参阅我的更新。
Repmat
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.