基于R语言分析身高与体重的相关性分析

时间: 2023-10-04 admin IT培训

基于R语言分析身高与体重的相关性分析

基于R语言分析身高与体重的相关性分析

本博文源于暨南大学的《多元数据统计分析及R语言建模》。旨在讲述身高与体重相关性分析。在概率论与数理统计课程中,两个变量之间协方差的标准化,因此先要熟悉并回忆公式,套用在R语言即可。

例子:分析身高(kg)与体重(cm)的相关性

> x1 = c(171,175,159,155,152,158,154,164,168,166,159,164)
> x2 = c(57,64,41,38,35,44,41,51,57,49,47,46)

分析步骤

  • 数据输入至R语言里
  • 画出散点图
  • 用自定义函数计算相关系数
  • 算的相关系数后,采用假设检验,分析p值和t值

画散点图

plot(x,y)

计算相关系数

> lxy <- function(x,y)
+ sum(x*y)-sum(x)*sum(y)/length(x)
> r=lxy(x1,x2)/sqrt(lxy(x1,x1)*lxy(x2,x2))
> r
[1] 0.9593031
> 

采用假设检验,开始计算t值和p值

假设检验中,首先中要有假设。假设分为零假设和备择假设。

然后计算t值和p值,直接用R的命令

> cor.test(x1,x2)Pearson's product-moment correlationdata:  x1 and x2
t = 10.743, df = 10, p-value = 8.21e-07
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:0.8574875 0.9888163
sample estimates:cor 
0.9593031 

由于p=8.21e-07<0.05,于是α=0.05在水准上拒绝H0,接受H1的,可认为改人群身高与体重呈现正的线性关系

完整代码

> x1 = c(171,175,159,155,152,158,154,164,168,166,159,164)
> x2 = c(57,64,41,38,35,44,41,51,57,49,47,46)
> plot(x1,x2)
> lxy <- function(x,y)
+ sum(x*y)-sum(x)*sum(y)/length(x)
> r=lxy(x1,x2)/sqrt(lxy(x1,x1)*lxy(x2,x2))
> r
[1] 0.9593031
> cor.test(x1,x2)Pearson's product-moment correlationdata:  x1 and x2
t = 10.743, df = 10, p-value = 8.21e-07
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:0.8574875 0.9888163
sample estimates:cor 
0.9593031 > 

总结

其实整篇博文,无非计算相关性,和相关性检验。掌握了这两条命令,其实对于一般的两个变量之间的关系就有了清晰的认识,并且也会用R实现。