Pearson相关分析

可参考: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

你可能感兴趣的:(Pearson相关分析)