R语言复现:利用线性回归探讨影响因素全过程

在医学科研、特别是观察性研究领域,无论是现况调查、病例对照研究、还是队列研究,经常遇到定量结局指标,如量表评分,此时可以考虑线性回归模型

线性回归分析报告的统计模块主要包括4部分内容:统计描述差异性分析相关性分析线性回归。完成这四步,基本就可以形成一份统计报告了!

实际中,许多人习惯性使用SPSS进行回归分析,但是SPSS无法进行批量单因素分析,还需要手动绘制三线表,费时又费力

本文主要内容包括:

一、实操案例讲解

二、利用在线网站复现

三、利用R语言复现

一、案例介绍

数据集来源于《本科实习护生患者安全感知与自主学习能力的相关性研究》这篇文章。

研究目的:了解本科实习护生患者安全感知和自主学习能力现状,并分析两者的相关性

P(Population):浙江中医药大学护理学院279名大四护生

O(Outcome):卫生职业教育患者安全感知量表各维度得分和总分,护理学专业学生自主学习能力量表各维度得分和总分

S(Study):横断面研究

统计方法

1.统计描述:计数资料以频数和百分比表示,计量资料以x±s表示

2.差异性分析:单因素分析采用t检验或方差分析

3.相关性分析:

①若两个变量服从正态分布,采用Pearson相关分析计算相关系数

②采用多元线性逐步回归分析进行多因素分析

(如需获取实操数据,可在“医学论文与统计分析”公众号后台回复“护理感知数据)

95b56bfe218d7f6c3939dd7c8518b04a.png

下面将结合本数据分别通过风暴统计智能在线免费平台与R语言软件来进行统计框架复现,方便大家对两种方法的特点有更加直观的认识!

二、风暴统计智能在线免费平台复现

风暴统计平台复现链接:

https://shiny.medsta.cn/line1/

https://shiny.medsta.cn/line2/

1.基线差异性分析
进入操作界面,完成数据导入与整理后,就可以进入差异性分析界面了!数据整理的具体操作,详细可参考下方推文!

如何利用风暴统计进行数据的整理转换?

进行差异性分析时,只需要在左侧菜单栏依次选入检验变量与其他定量或分类变量,右侧就立即出现了差异性比较三线表格,还支持一键下载word版哦。

fcbb7e596789a7cc30bc41bab0167544.png

2.相关性分析

相关性分析界面的操作就更加简单啦,只需要选入x轴变量y轴变量,就可以出图了,不仅有简单散点图,还有带相关系数的散点图!

423e0e4fad2953b2503afb05d6fac0a1.png

3.线性回归

风暴统计可以直接批量生成单因素结果,只需要在左侧菜单栏依次选入自变量因变量,就可以在右侧直出三线表结果啦!

bf055c7165b6d4fdf2467799af49d977.png

进行多因素分析,也是在同一个界面,在左下侧的回归设置处,选择P阈值回归方法,切换至多因素结果界面就可以看到结果了。

202c55c72ac324f9854ad47a22e038ea.png

回归结果,单因素、多因素、单因素+多因素都可以一起下载为word版!完成以上分析只需要轻轻松松几分钟,新手小白也可以!

a0366d398e8110686f21b3f950dbf6d4.png

三、R语言软件复现

1.首先导入数据,对数据进行处理,如分类变量因子化、变量转换等

1.1导入数据

(如需获取实操代码,可在“医学论文与统计分析”公众号后台回复“感知线性代码)

bea7f953fbaf701dad3977effdb39430.png

1.2数据转换

文章中户籍为二分类,使用ifelse语句将三分类变量转换为二分类

0b8d055fc019f0443e5cd53456335f54.png

1.3批量因子化处理

75d45894f0c17fb1fec64d4d5610b55b.png

2.描述人群特征,进行差异性分析

2.1定量结局指标分析是否正态分布

①结局指标正态性检验,样本量为279>200,使用K-S法检验;小样本时使用S-W法检验

c56b9aea2d9dcdb7d0826f51682efa89.png

代码解读:ks.test(x, y, ...,alternative = c(“two.sided”, “less”, “greater”),exact = NULL),R语言中ks.test有四个参数,第一个参数x为观测值向量,第二个参数y为第二观测值向量或者累计分布函数或者一个真正的累积分布函数如pnorm,只对连续CDF有效。第三个参数为指明是单侧检验还是双侧检验,exact参数为NULL或者一个逻辑值,表明是否需要计算较精确的P值

结果展示:

8263783b4deb474e1a06cf99a7a477c6.png

②绘制直方图

7117fe0bbcb981b639bd39a0f852ab60.png

9b20da00987eee06bc7f66fc91b99c47.png

2.2描述数据特征

faedca2bef3e4f902870a046e696a002.png

代码解读:CreateTableOne(vars=MyVar, strata=“trt”, data=Mydata, factorVars=CatVar),其中vars设定要描述统计的变量,strata指定分组变量,data设定数据集,factorVars指定分类变量。

运行结果:可分组给出变量的均值(标准差)/频数(频率)以及组间比较的结果。遗憾的是,tableone默认使用连续校正卡方检验(分类变量)/单因素方差分析(one way ANOVA,方差相等假设,连续变量),可选项为fisher精确检验/Kruskal-Wallis秩和检验(非正态的连续变量),无法控制协变量进行组间比较,也无法实现多因素的ANOVA。

部分结果展示:

cb2eb5cb832f8a65583b6722320deadc.png

2.3差异性分析
2.3.1两组t检验

776a34128138471559801b558bff70da.png

代码解读: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。

结果展示:

dd851168d0bd7b26aeca85f20a538cf2.png

2.3.2多组方差分析

32ff8264315601d532ea67f1d58048e0.png

结果展示:

c8ec5ad0b22c15f82929a95246b97607.png

3.相关性分析,计算相关系数r

2d89931e27caf95a1c1f6f88d602c2bd.png

代码解读:cov(x, y = NULL, use = ““, method =”“)x:数字矢量、矩阵或数据帧。y:NULL(默认值)或具有与x兼容维度的向量、矩阵或数据帧。默认值相当于y=x(但更有效)。use:一个可选字符串,给出了在缺少值的情况下计算协方差的方法。method:指示要计算哪个相关系数(或协方差)的字符串。“pearson”(默认)、“kendall”或”spearman”之一,可以缩写。

结果展示:

5005e5847977f04bfbd3ac883ff55c11.png

4.进行线性回归分析

4.1 将差异性分析P<0.05的变量纳入模型进行多因素逐步线性回归

aee5392d96b0ac42f884a7fdedbbfc15.png

结果展示:

1cc274d759e3871e32860bba3c7b433d.png

747bd3926d1d4aa76d80bf149a2fc2fe.png

结果展示:

8679cc575a2da234f5cbdac1e5119fca.png

4.2 可以考虑采用一些工具包来绘制结果,例如autoreg包

a3e4bdceac4646feb468c5f1f64ff168.png

5.线性回归模型诊断

5.1. 通过残差图来看展回归诊断

1833a8e3b3c5bb96fbf775c88a8498a6.png

结果展示:

5796cd1ef8f08a372222d2b3dfdbcddd.png

198fc0d72258ff881dbc1adda74c37f2.png

结果展示:

6b1dfef78779f21e2bfb6204de3c3584.png

5.2. 残差独立性检验(car包)

45e85e2cd62b0ee44c367e5035c9d723.png

9982185798980270e23e0e8bb18961d1.png

5.3共线性诊断

VIF值小于10认为共线性弱

984246a9e78b1693cd458cb922399dbd.png

f071dcfd9fc51fd713190ce8b6614834.png

以上就是我们本次文章的全部内容啦!如果您感兴趣的话,不妨来试试吧!

(如需获取实操代码,可在“医学论文与统计分析”公众号后台回复感知线性代码,如需获取实操数据,可在“医学论文与统计分析”后台回复“护理感知数据”)

7480a154cc0f6985029821ecff2d99a1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值