Pearson相关性分析(Pearson Correlation Analysis)——R软件实现

发布于 2022年1月4日 星期二 14:48:49 浏览:12083
原创不易,转载请注明来源,感谢!
附件下载:
Pearson相关性分析.zip 请勿重复点击,如无响应请耐心等待或稍后再试。

在前面文章中我们介绍了Pearson相关性分析(Pearson Correlation Analysis)的假设检验理论,本篇文章将使用实例演示在R软件中实现Pearson相关性分析的操作步骤。

关键词:R语言; R软件; 相关分析; Pearson相关分析; 连续变量相关分析; Pearson相关系数

一、案例介绍

某研究者研究健康成年人的体重和双肾脏总体积(ml)的关系,测得24名健康成年人的体重wt (kg)与双肾脏总体积volume (ml),拟探讨健康成年人的体重与双肾体积是否有关。部分数据见图1。本文案例可从“附件下载”处下载。

二、问题分析

本案例的分析目的是探索两个连续变量之间的相关性,可以使用Pearson相关分析。但需要满足5个条件:

条件1:两个变量均为连续变量。本研究中的成人体重和双肾总体积均为连续变量,该条件满足。

条件2:两个连续变量应当是配对的,即来源于同一个个体。本研究中同时检测了研究对象的体重和双肾总体积,变量之间是对应关系,该条件满足。

条件3:两个连续变量之间存在线性关系,该条件需要通过软件分析后判断。

条件4:两个变量都不存在明显的异常值,该条件需要通过软件分析后判断。

条件5:两个变量服从正态(或近似正态)分布,该条件需要通过软件分析后判断。

三、软件操作及结果解读

(一) 导入数据

mydata <- read.csv("Pearson相关性分析.csv")  #导入CSV数据
View(mydata)  #查看数据
图1

在数据栏目中可以查看全部数据情况,数据集中共有3个变量和24个观察数据,3个变量分别代表编号(ID)、体重(wt)与双肾脏总体积(volume)。
如果数据集较大也可使用如下命令查看数据框结构:

str(mydata) #查看数据框结构

图2

(二) 适用条件判断

1. 条件3判断(线性关系分析)

(1) 软件操作

##线性关系判断 ##

library(ggplot2)
ggplot(data=mydata,aes(x=wt,y=volume))+geom_point()+stat_smooth(method="lm",se=TRUE)
图3
(2) 结果解读

由图3结果可见,散点大致呈一条直线,说明存在线性关系。该条件满足。

2. 条件4判断(异常值判断)

(1) 软件操作

##描述基本情况 ##

summary(mydata$wt) #描述体重的基本情况
summary(mydata$volume) #描述肾脏体积的基本情况
图4

## 判断缺失值 ##

is.na(mydata$wt) #查看体重是否存在缺失值
is.na(mydata$volume) #查看体积是否存在缺失值
图5

##绘制箱线图 ##

par(mfrow=c(1,2)) #绘制一行2个图片
boxplot(mydata$wt,xlab = c("wt"), ylab = expression("kg")) #绘制体重的箱线图
boxplot(mydata$volume,xlab = c("volume"), ylab = expression("ml")) #绘制体积的箱线图
图6
(2) 结果解读

图4列出了观察变量的最小值和最大值,依据专业可判断体重可能存在38 kg和85 kg,双肾总体积可能存在213 ml和348 ml的情况;此外,图6中的箱线图也未提示任何异常值。综上,本案例未发现需要删除的异常值,满足条件4。

3. 条件5判断(正态性检验)

(1) 软件操作

##绘制Q-Q图 ##

par(mfrow = c(1, 2))  #绘制一行2个图片
qqnorm(mydata$wt, ylab="kg", main="wt")  #绘制wt的qq图
qqline(mydata$wt)  #增加趋势线
qqnorm(mydata$volume, ylab="ml", main="volume")  #绘制volume的qq图
qqline(mydata$volume)  #增加趋势线
图7

## 正态性检验 ##

shapiro.test(mydata$wt) #检验wt的正态性
shapiro.test(mydata$volume) #检验volume的正态性
图8
(2) 结果解读

图7的Q-Q图上变量散点基本围绕对角线分布,提示两个变量服从正态分布;图8的正态性检验结果显示两变量的P值分别为0.337和0.3116,均>0.1,也提示两变量服从正态分布。综上,本案例满足条件5。关于正态性检验的注意事项详见文章(医学统计学核心概念及重要假设检验的软件实现(2/4)——正态性假设检验的SPSS实现)(链接)。

(三) 统计描述及推断

1. 软件操作

##描述统计 ##

library(psych)  #调用包“psych”
describe(mydata$wt)  #wt变量描述统计
describe(mydata$volume) #volume变量描述统计
图9

##相关性分析 ##

cor.test(mydata$wt, mydata$volume, alternative = "two.side", method = "pearson", conf.level = 0.95)
图10

2. 结果解读

(1) 统计描述

从图9的“describe (描述性分析)”结果可知,健康成年人的体重为59.83±14.39 kg,双肾总体积269.78±39.29 ml。

(2) 统计学推断

图10的“cor.test (相关性分析)”分析结果显示,两组Pearson相关系数r =0.947 (95%CI:0.879~0.977),P<0.001。可知本研究样本人群的双肾总体积与体重之间存在较强线性相关性。

四、结论

本研究采用Pearson相关分析判断健康成人的双肾总体积与体重是否有关。通过绘制散点图显示两变量之间存在正向线性关系;通过箱线图及专业知识判断,数据不存在需要删除的异常值;通过Q-Q图和Shapiro-Wilk检验,提示数据服从正态分布。

描述性分析结果显示,健康成年人的体重为59.83±14.39 kg,双肾总体积为269.78±39.29 ml。Pearson相关分析显示,健康成人的双肾总体积与体重之间的Pearson相关系数r =0.947 (95%CI:0.879~0.977),P<0.001。综上,可知本研究样本人群的双肾总体积与体重之间存在较强正向线性相关。

五、分析小技巧

(一) 线性关系

  • 要确定是否存在线性关系,研究者需要查看两个变量的散点图,如果散点图大致呈一条直线,说明有线性关系,如果不是一条直线则没有线性关系。常见散点图提示的相关类型如图11所示。
图11

(二) 异常值处理

  • 如果发现存在异常值,首先要考虑数据是否存在录入错误。如果存在,应修改为正确值。错误数值修订后,需要重新再做散点图,因为修订数值后,可能仍是异常值或者其他的观测值成为了异常值。如果不是录入错误,可以考虑是否为测量误差,如果存在,通常需剔除这些观测值,或将异常值替换为测量范围的上限值(研究者确认异常值超出仪器测量范围并且知道测量错误的方向)。如果异常值不是由于录入或者测量错误导致,这些异常值可能代表了真实的数据情况,尽管这些数据并不符合统计预期,但也没有理由删除,对这种情况的处理方法目前还没有统一标准。研究者可以根据实际情况选择合适的方法,也可以咨询相关专业人员。

(三) 相关系数

  • Pearson相关系数r,是表示两个随机变量之间线性相关程度和方向的统计量,即r>0,为正相关;r=0为零相关。R的绝对值大小则表示两变量之间线性相关的密切程度,/r/越接近1,说明关联程度高,/r/越接近于0,说明关联程度越低。当0.9</r/<1,为高度相关;当0.7</r/<0.9,为强相关;0.4</r/<0.7,为中度相关;0.2</r/<0.4,为弱相关性;0</r/<0.2,为极弱相关或无相关性。
  • 关于相关系数强弱的判断标准,对于不同专业存在稍微的差异,使用时需要结合专业背景综合决定。此外,Pearson相关系数多用于进行多重线性回归分析前的探索性分析,此时对于相关系数r的判断分级并不是很重要。
End
文章目录 沉浸式阅读