可参考:https://blog.csdn.net/cheyennelam/article/details/62227477
一、Pearson相关系数的变量要求:
①两变量相互独立
②两变量为连续变量
③两变量的分布遵循正态分布
④两变量呈线性关系
二、需要求出的系数:
皮尔逊相关系数就是用协方差除以两个变量的标准差得到的
①计算相关系数r
②计算显著性水平α
#state.x77第3列为文盲率
x <- state.x77[,3]
#state.x77第4列为预期寿命
y <- state.x77[,4]
#样本总数为50
n <- nrow(state.x77)
#按照公式设置分子
Numerator <- (n*sum(x*y)-sum(x)*sum(y))
#按照公式设置分母
Denominator <- (sqrt(n*sum(x^2)-sum(x)^2)*sqrt(n*sum(y^2)-sum(y)^2))
#计算出相关系数r
r <- Numerator / Denominator
r
[1] -0.5884779
T <- r*(sqrt(n-2))/sqrt(1-r^2)
T
[1] -5.042706
在R语言中,有直接的函数cor( )计算出Pearson相关系数
r <- cor(state.x77[,3],state.x77[,4])
r
[1] -0.5884779
进行显著性检验
#使用cor.test()函数计算文盲率和预期寿命的相关关系,默认方法为Pearson相关分析
T <- cor.test(state.x77[,3],state.x77[,4])
T
Pearson's product-moment correlation
#这里列名数据来源
data: state.x77[, 3] and state.x77[, 4]
#t值和使用显著性检验的公式计算出的t值一致
#自由度df为n-2=48
#p值查表可以得出6.969e-06 < 0.05
t = -5.0427, df = 48, p-value = 6.969e-06
#因此有95%以上的几率可以拒绝原假设总体A的相关系数ρ=0
#即文盲率和预期寿命的相关系数显著地不为0
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.7448226 -0.3708811
#这里列示Pearson相关系数
sample estimates:
cor
-0.5884779
参考以下:https://blog.csdn.net/qingchen98/article/details/106127481
> setwd("F:\\CSDN\\blog")
> states <- state.x77[,1:5]
> cov(states) #计算方差和协方差
> cor(states) #计算Pearson积差相关系数
> cor(states,method = "spearman") #计算spearman等级相关系数
> cor.test(states[,3],states[,5]) #进行相关性系数
> #cor.test()只能检验一种相关关系,psych包提供了更多的选择
> #install.packages("psych")
> library(psych)
> corr.test(states,use = "complete")
相关性可视化
最简单两个连续变量相关性可视化用散点图表达。参考网址:
https://www.jianshu.com/p/3edc57fc2c1c