R语言二元正态分布及双变量相关分析简单案例演示

Posted 小兵学R语言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言二元正态分布及双变量相关分析简单案例演示相关的知识,希望对你有一定的参考价值。


皮尔逊系数、斯皮尔曼系数、肯德尔系数,这是我们在双变量相关分析中经常使用的三大相关系数。皮尔逊系数使用时有一个基本条件,两变量应满足二元正态分布,否则建议选用斯皮尔曼相关系数。

所以,两个连续数据相关分析前,我们有必要首先进行多元(二元)正态分布的检验。R语言中,我们可以使用mvnormtest包中的mshapiro.test函数完成。

案例数据:雇员数据

本号后台回复【雇员】下载案例数据。


二元正态分布检验

现在我想考察一下初始薪金和当前薪金间的相关性, 首先来做二元正态分布检验。

  
    
    
  
mydata <- t(employee[,6:7])

mshapiro.test函数的参数U要求是每行是变量,每列是个案,因此我们需要t函数做行列转置。

  
    
    
  
library(mvnormtest) mshapiro.test(mydata)

来看结果:

Shapiro-Wilk normality test
data:  Z
W = 0.70689, p-value < 2.2e-16

多元正态分布的 原假设是服从正态分布,经过检验发现,p-value <0.001,显然有理由拒绝原假设,说明这两个变量数据不服从二元正态分布。

此时皮尔逊相关系数是不合适的,那我们就 用斯皮尔曼系数来反映初始薪金和当前薪金的相关性。

R双变量相关分析

  
    
    
  
cor.test(x=employee$salbegin,y=employee$salary,method = "spearman")

来看结果:

Spearman's rank correlation rho
data:  employee[, 6] and employee[, 7]
S = 3090197, p-value < 2.2e-16
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.8258977


斯皮尔曼显著性检验 p-value <0.001,通过检验,说明存在相关性,有统计学意义。二者的相关程度如何呢?

斯皮尔曼相关系数r=0.826, 说明当前薪金和起始薪金间存在较强的正向相关性。

本文完
文/图=数据小兵

历史文章 ↓











菜鸟学R语言,我推荐图书:

以上是关于R语言二元正态分布及双变量相关分析简单案例演示的主要内容,如果未能解决你的问题,请参考以下文章

R语言-广义线性模型

R语言之实战分析

R语言完成偏相关性分析

案例演示 R语言绘制热图代码

R语言- 基本统计分析

【R语言入门与数据分析-5】 数据分析实战