当前位置: 首页 > news >正文

R语言复现:如何利用logistic逐步回归进行影响因素分析?

Logistic回归在医学科研、特别是观察性研究领域,无论是现况调查、病例对照研究、还是队列研究中都是大家经常用到的统计方法,而在影响因素研究筛选自变量时,大家习惯性用的比较多的还是先单后多,P<0.05纳入多因素研究,很少用逐步回归法,有些同学可能听过但是了解也不多,这里先简单介绍一下。

那么什么时候推荐用逐步回归呢?有以下2种情况,可以考虑使用:

①构建预测模型时候,就放心大胆的用。其他场景,一般不建议用逐步回归法。

②探索性研究、探讨多个影响因素时,候选的影响因素实在太多(单因素分析后P值<0.05者,仍然超过10个),或者样本量不大。

逐步回归法的原理听上去很复杂,但是用R语言几行代码也可以搞定,只是R语言需要一定的代码基础,一时半会儿也无法学会,因此,这里结合实操案例为大家介绍一个智能在线免费统计分析平台——风暴统计

一、实操数据介绍

1372a1e441a211372f776d765cea61f7.png

这里我们使用的是R语言自带数据集MASS中的birthwt,birthwt是一份与婴儿出生体重低相关的危险因素数据,其中包含的变量见下表,根据研究设计,以“low”作为结局变量。

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

目前风暴统计平台可以非常快速准确的完成logistic回归,只需2步!

  • 选入回归自变量

  • 选择自变量筛选方式

全部是菜单式操作,完成后,界面直接给出规范三线表结果!还可以随着变量的调整实时更新结果,在数据探索初期,可以节省不少工作量!在撰写报告时,也不用再手工绘制三线表,填写数据了!统计小白也可以轻松上手!

1.logistic回归自变量选择

首先,选入变量,包括因变量定量自变量分类自变量

3c0f2c0b3ae059be0ed2f0984cae35b4.png

①因变量

这里因变量建议使用0和1进行表示,0代表阴性结局(如:未患病、二分类变量中值较小的组),1代表阳性结局(如:患病或二分类结局中值较大的组)。

②定量自变量

平台会将分类数大于5的变量自动归为定量自变量,并在选取定量自变量时,优先显示在上方,便于选取。

67420f2fb31eefd36aba325a1f9a4f29.png

③分类自变量

同理,分类数小于5类的变量归入分类变量,在选取变量时,优先显示分类变量。

6a48cb3d2c6cc5eb72246f7044289448.png

接着,选择自变量的筛选方式,包括先单后多法逐步回归法

e6078b6629559157bb11f1571aebc6f6.png

2.选择自变量筛选方式

根据研究需要,如果需要开展先单后多的自变量筛选方式,那么“是否开展逐步回归分析”选择“否”。P阈值自行选择,如果自变量个数过少,可以适当放宽标准,0.1、0.2也都是可以的。当选择不限制时,选入的全部自变量都将纳入多因素回归分析。

如果需要选择逐步回归法,平台也提供了多种选择:双向逐步回归,向前逐步回归,向后逐步回归以及考虑到有时P值大于0.05的变量在逐步回归时也会留在模型中,新增了根据P<0.05的原则开展逐步回归

这里我们选择单因素P<0.05的变量进入多因素开展逐步回归。

e79d086db47b1a76de2f1f58f6e7fe35.png

3.下载结果

平台给出了多种结果展示,仅展示单因素回归结果仅展示多因素回归结果单因素+多因素显示在同一个表格中!

4e29460fa5eb2580beb9011c310cfe54.png

然后也可以选择小数位数,默认情况下,P值为3位小数,其他统计量为2位小数。

指定小数位数后,P值与统计量的小数位数将会统一。调整完成后,下载最终的三线表结果,平台支持下载excel或word

0a980857db0f7b7038ed8319fa9da8f7.png

三、R语言软件复现

这里采用autoReg包,autoReg包是一款功能十分强大的R包,不仅可以快捷完成基线表的制作,还可以直接一行代码输出回归分析(支持线性模型、广义线性模型和比例风险模型)的表格。

1.logistic回归模型构建

使用glm() 函数构建回归模型,glm(y~x1+x2+x3+x4+x......,data=数据集名,family="binomial"),指定因变量与自变量,设置数据集名。

logfit<-glm(low ~ age + lwt + race + smoke + ptd + ht + ui + ftv,data=bwt,family = "binomial")
summary(logfit)

此处参数family规定了回归模型的类型:family="binomial"指适用于二元离散因变量(binary)。

2.逐步回归法

autoReg逐步回归法的参数,就是Final=T 还是F,Final=T 提供逐步回归分析结果。另外,还有threshold,设定P值来挑选单因素分析的变量开展多因素回归。

logreg4<-autoReg(logfit,uni=TRUE,threshold=0.05, final=T)   #final=T逐步回归
logreg4
logtable4<-myft(logreg4)

d795925d53fa951627cac06c4507d725.png

四、总结

通过对比,风暴统计与R语言先单后多的分析结果完全一致,风暴统计对于P值还有单独成列,结果更加清晰直观!这也是由于平台的构建依托于R代码进行分析。同时结果输出更加快捷,迅速,大家进行统计分析时不妨试一试!

1e08f19146f2ff7f02062644aed9b923.png

a2a4a26721b9f1ec326d8768e7d0dc95.png

56b5d40fe292cd25ffb1ff38439a1459.png

相关文章:

R语言复现:如何利用logistic逐步回归进行影响因素分析?

Logistic回归在医学科研、特别是观察性研究领域&#xff0c;无论是现况调查、病例对照研究、还是队列研究中都是大家经常用到的统计方法&#xff0c;而在影响因素研究筛选自变量时&#xff0c;大家习惯性用的比较多的还是先单后多&#xff0c;P&#xff1c;0.05纳入多因素研究&…...

【MySQL使用】show processlist 命令详解

show processlist 命令详解 一、命令含义二、命令返回参数三、Command值解释四、State值解释五、参考资料 一、命令含义 对于一个MySQL连接&#xff0c;或者说一个线程&#xff0c;任何时刻都有一个状态&#xff0c;该状态表示了MySQL当前正在做什么。SHOW PROCESSLIST 命令的…...

分类算法(Classification algorithms)

逻辑回归(logical regression&#xff09;&#xff1a; 逻辑回归这个名字听上去好像应该是回归算法的&#xff0c;但其实这个名字只是在历史上取名有点区别&#xff0c;但实际上它是一个完全属于是分类算法的。 我们为什么要学习它呢&#xff1f;在用我们的线性回归时会遇到一…...

深度学习-Softmax 回归 + 损失函数 + 图片分类数据集

Softmax 回归 损失函数 图片分类数据集 1 softmax2 损失函数1均方L1LossHuber Loss 3 图像分类数据集4 softmax回归的从零开始实现 1 softmax Softmax是一个常用于机器学习和深度学习中的激活函数。它通常用于多分类问题&#xff0c;将一个实数向量转换为概率分布。Softmax函…...

分布式锁从0到1落地实现01(mysql/redis/zk)

1 准备数据库表 CREATE TABLE user ( id bigint(20) NOT NULL COMMENT 主键ID, name varchar(30) DEFAULT NULL COMMENT 姓名, age int(11) DEFAULT NULL COMMENT 年龄, email varchar(50) DEFAULT NULL COMMENT 邮箱, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;I…...

安全运营方案的基本框架和关键要素

一、前言 阐述安全运营方案的目的和重要性。强调安全运营与组织整体战略目标的关联。 二、安全运营原则 确立安全运营的基本原则&#xff0c;如保密性、完整性和可用性。明确安全责任划分&#xff0c;确保各部门和人员履行安全职责。 三、安全风险评估与管理 进行全面的安…...

用C语言执行SQLite3的gcc编译细节

错误信息&#xff1a; /tmp/cc3joSwp.o: In function main: execSqlite.c:(.text0x100): undefined reference to sqlite3_open execSqlite.c:(.text0x16c): undefined reference to sqlite3_exec execSqlite.c:(.text0x174): undefined reference to sqlite3_close execSqlit…...

matlab双目相机标定-需要什么参数、怎么获得

相机标定目的&#xff1a;获得相机内参、外参、畸变系数&#xff0c;摄像头的内参(f,1/dx,1/dy,cx,cy)、畸变参数(k1,k2,k3,p1,p1)和外参(R,t)&#xff0c;用于接下来的双目校正和深度图生成从而实现二维到三维的转换。 相机标定方法&#xff1a;opencv 双目相机标定以及立体…...

大型语言模型的智能助手:检索增强生成(RAG)

背景 在人工智能的浪潮中&#xff0c;大型语言模型&#xff08;LLMs&#xff09;如GPT系列和LLama系列在自然语言处理&#xff08;NLP&#xff09;领域取得了显著成就。它们能够完成复杂的语言任务&#xff0c;如文本摘要、机器翻译、甚至创作诗歌。然而&#xff0c;这些模型在…...

Ubuntu 安装谷歌拼音输入法

一、Fcitx 安装 在Ubuntu 下&#xff0c;谷歌拼音输入法是基于Fcitx输入法的。所以&#xff0c;首先需要安装Fcitx。一般来说&#xff0c;Ubuntu最新版中都默认安装了Fcitx&#xff0c;但是为了确保一下&#xff0c;我们可以在系统终端中运行如下命令&#xff1a; sudo apt ins…...

修改MonkeyDev默认配置适配Xcode15

上一篇文章介绍了升级Xcode15后&#xff0c;适配MonkeyDev的一些操作&#xff0c;具体操作可以查看&#xff1a;Xcode 15 适配 MonkeyDev。 但是每次新建项目都要去修改那些配置&#xff0c;浪费时间和精力&#xff0c;这篇文章主要介绍如何修改MonkeyDev的默认配置&#xff0…...

deepinlinux打包deb文件完善

最近学习了一篇qt入门文章&#xff0c;做了一个小应用&#xff0c;要给另一台电脑用时发现还需考虑另一台没有qt&#xff0c;要把相关库带过去&#xff0c;后来就学了打包成deb安装包&#xff0c;看起来更专业。 win下搜索qt依赖库的程序是windeployqt&#xff0c;先将应用输出…...

Android studioSDK集成:com.yechaoa.yutilskt

文章目录 1、工具介绍2、集成 1、工具介绍 com.yechaoa.yutilskt是一个Android开发工具库&#xff0c;提供了一些常用的工具类和方法&#xff0c;方便开发者进行Android应用程序的开发。该库包含了以下功能&#xff1a; 网络请求工具类&#xff1a;提供了简化的网络请求方法&…...

openssl3.2 - exp - PEM <==> DER

文章目录 openssl3.2 - exp - PEM <> DER概述笔记加密用的私钥(带口令保护) - PEM > DER加密用的私钥(不带口令保护) - DER > PEM将不带口令的PEM转成带口令的PEM支持口令的算法备注END openssl3.2 - exp - PEM <> DER 概述 想将客户端私钥 服务端公钥 数…...

云计算的部署方式(公有云、私有云、混合云、社区云)

云计算的部署方式(公有云、私有云、混合云、社区云) 目录 零、00时光宝盒 一、云计算的部署方式 1.1、公有云&#xff08;Public Cloud&#xff09; 1.2、私有云&#xff08;Private Cloud&#xff09;  1.3、混合云&#xff08;Hybrid Cloud&#xff09; 1.4、社区云&am…...

umi4 项目使用 keepalive 缓存页面(umi-plugin-keep-alive、react-activation)

umi4使用keepalive 配置文件config\config.ts export default defineConfig({plugins: [umi-plugin-keep-alive], });安装add umi-plugin-keep-alive yarn add umi-plugin-keep-alive页面 A import { KeepAlive, history, useAliveController } from umijs/max; const Page…...

new;getline();重载<<和>>

面向对象程序设计的优点&#xff1a; 易维护易扩展模块化&#xff1a;通过设置访问级别&#xff0c;限制别人对自己的访问&#xff0c;保护了数据安全 int main(){ return 0;} 返回值0在windows下编程一般没用&#xff0c;但是在linux中编程&#xff0c;返回值有时有用 汇编与…...

python报错

Missing optional dependency ‘xlrd’. Install xlrd > 1.0.0 for Excel support Use pip or conda to install xlrd 安装xlrd库...

Android14 Handle机制

Handle是进程内部, 线程之间的通信机制. handle主要接受子线程发送的数据, 并用此数据配合主线程更新UI handle可以分发Message对象和Runnable对象到主线程中, 每个handle实例, 都会绑定到创建他的线程中, 它有两个作用,: (1) 安排消息在某个主线程中某个地方执行 (2) 安排…...

spark 总结

1.spark 配置文件 spark-default.conf spark.yarn.historyServer.address xiemeng-01:18080 spark.history.port18080 hive-site.xml <configuration><property><name>javax.jdo.option.ConnectionURL</name> </property><property>&…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...