在医学科研、特别是观察性研究领域,无论是现况调查、病例对照研究、还是队列研究,经常遇到定量结局指标,如量表评分,此时可以考虑线性回归模型。
线性回归分析报告的统计模块主要包括4部分内容:统计描述、差异性分析、相关性分析、线性回归。完成这四步,基本就可以形成一份统计报告了!
实际中,许多人习惯性使用SPSS进行回归分析,但是SPSS无法进行批量单因素分析,还需要手动绘制三线表,费时又费力。
本文主要内容包括: 一、实操案例讲解 二、利用在线网站复现 三、利用R语言复现 |
一、案例介绍
数据集来源于《本科实习护生患者安全感知与自主学习能力的相关性研究》这篇文章。
研究目的:了解本科实习护生患者安全感知和自主学习能力现状,并分析两者的相关性
P(Population):浙江中医药大学护理学院279名大四护生
O(Outcome):卫生职业教育患者安全感知量表各维度得分和总分,护理学专业学生自主学习能力量表各维度得分和总分
S(Study):横断面研究
统计方法
1.统计描述:计数资料以频数和百分比表示,计量资料以x±s表示
2.差异性分析:单因素分析采用t检验或方差分析
3.相关性分析:
①若两个变量服从正态分布,采用Pearson相关分析计算相关系数
②采用多元线性逐步回归分析进行多因素分析
(如需获取实操数据,可在“医学论文与统计分析”公众号后台回复“护理感知数据”)
下面将结合本数据分别通过风暴统计智能在线免费平台与R语言软件来进行统计框架复现,方便大家对两种方法的特点有更加直观的认识!
二、风暴统计智能在线免费平台复现
风暴统计平台复现链接:
https://shiny.medsta.cn/line1/
https://shiny.medsta.cn/line2/
1.基线差异性分析
进入操作界面,完成数据导入与整理后,就可以进入差异性分析界面了!数据整理的具体操作,详细可参考下方推文!
进行差异性分析时,只需要在左侧菜单栏依次选入检验变量与其他定量或分类变量,右侧就立即出现了差异性比较三线表格,还支持一键下载word版哦。
2.相关性分析
相关性分析界面的操作就更加简单啦,只需要选入x轴变量与y轴变量,就可以出图了,不仅有简单散点图,还有带相关系数的散点图!
3.线性回归
风暴统计可以直接批量生成单因素结果,只需要在左侧菜单栏依次选入自变量与因变量,就可以在右侧直出三线表结果啦!
进行多因素分析,也是在同一个界面,在左下侧的回归设置处,选择P阈值与回归方法,切换至多因素结果界面就可以看到结果了。
回归结果,单因素、多因素、单因素+多因素都可以一起下载为word版!完成以上分析只需要轻轻松松几分钟,新手小白也可以!
三、R语言软件复现
1.首先导入数据,对数据进行处理,如分类变量因子化、变量转换等
1.1导入数据
(如需获取实操代码,可在“医学论文与统计分析”公众号后台回复“感知线性代码”)
1.2数据转换
文章中户籍为二分类,使用ifelse语句将三分类变量转换为二分类
1.3批量因子化处理
2.描述人群特征,进行差异性分析
2.1定量结局指标分析是否正态分布
①结局指标正态性检验,样本量为279>200,使用K-S法检验;小样本时使用S-W法检验
代码解读:ks.test(x, y, ...,alternative = c(“two.sided”, “less”, “greater”),exact = NULL),R语言中ks.test有四个参数,第一个参数x为观测值向量,第二个参数y为第二观测值向量或者累计分布函数或者一个真正的累积分布函数如pnorm,只对连续CDF有效。第三个参数为指明是单侧检验还是双侧检验,exact参数为NULL或者一个逻辑值,表明是否需要计算较精确的P值。
结果展示:
②绘制直方图
2.2描述数据特征
代码解读:CreateTableOne(vars=MyVar, strata=“trt”, data=Mydata, factorVars=CatVar),其中vars设定要描述统计的变量,strata指定分组变量,data设定数据集,factorVars指定分类变量。
运行结果:可分组给出变量的均值(标准差)/频数(频率)以及组间比较的结果。遗憾的是,tableone默认使用连续校正卡方检验(分类变量)/单因素方差分析(one way ANOVA,方差相等假设,连续变量),可选项为fisher精确检验/Kruskal-Wallis秩和检验(非正态的连续变量),无法控制协变量进行组间比较,也无法实现多因素的ANOVA。
部分结果展示:
2.3差异性分析
2.3.1两组t检验
代码解读:t.test(x, y = NULL,alternative = c(“two.sided”, “less”, “greater”),mu = 0, paired = FALSE, var.equal = FALSE,conf.level = 0.95, ...)x,y :为进行检验的数据。alternative:该参数设定备择假设,默认为双尾检验。mu:单样本检验时,需要设定的平均值。paired:为逻辑参数,是否进行配对t-test。var.equal:双样本检验时,总体方差是否相等。conf.level:设定显著性水平,默认α=0.05。
结果展示:
2.3.2多组方差分析
结果展示:
3.相关性分析,计算相关系数r
代码解读:cov(x, y = NULL, use = ““, method =”“),x:数字矢量、矩阵或数据帧。y:NULL(默认值)或具有与x兼容维度的向量、矩阵或数据帧。默认值相当于y=x(但更有效)。use:一个可选字符串,给出了在缺少值的情况下计算协方差的方法。method:指示要计算哪个相关系数(或协方差)的字符串。“pearson”(默认)、“kendall”或”spearman”之一,可以缩写。
结果展示:
4.进行线性回归分析
4.1 将差异性分析P<0.05的变量纳入模型进行多因素逐步线性回归
结果展示:
结果展示:
4.2 可以考虑采用一些工具包来绘制结果,例如autoreg包
5.线性回归模型诊断
5.1. 通过残差图来看展回归诊断
结果展示:
结果展示:
5.2. 残差独立性检验(car包)
5.3共线性诊断
VIF值小于10认为共线性弱
以上就是我们本次文章的全部内容啦!如果您感兴趣的话,不妨来试试吧!
(如需获取实操代码,可在“医学论文与统计分析”公众号后台回复“感知线性代码”,如需获取实操数据,可在“医学论文与统计分析”后台回复“护理感知数据”)