欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-03 19:42:52
...

本博文源于暨南大学的《多元数据统计分析及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)

计算相关系数

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

> 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值

假设检验中,首先中要有假设。假设分为零假设和备择假设。
基于R语言分析身高与体重的相关性分析
然后计算t值和p值,直接用R的命令

> cor.test(x1,x2)

        Pearson's product-moment correlation

data:  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 correlation

data:  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实现。