R语言应用interactionR包进行亚组相加交互作用分析

news2024/12/25 23:41:14

在统计分析中交互作用是指某因素的作用随其他因素水平变化而变化,两因素共同作用不等于两因素单独作用之和(相加交互作用)或之积(相乘交互作用)。相互作用的评估是尺度相关的:乘法或加法。乘法尺度上的相互作用意味着两次暴露的综合效应大于(或小于)两次暴露单独效应的乘积。加性尺度上的相互作用意味着两次暴露的综合效应大于(或小于)两次暴露单独效应的总和。
目前在大量文章中只报道了乘法交互效应,而加法交互效应报道得较少。有文献表明,单单只用乘法交互效应低估了疾病协同的危险性,从而低估了发病率。
在这里插入图片描述
Rothman指出 logistic 或 Cox 回归模型中乘积项无统计学意义,
并不表示两因素无相加交互作用,也不表示无生物学交互作用,并从理论上探讨了用于评价因素间是否有区别于相乘交互作用的相加交互作用,以及三个评价指标:相对超危险度比(the relative excess risk due tointeraction,RERI)、归因比(the attributable proportion
due to interaction,AP)和交互作用指数(the synergy in-dex,SI)的构造和计算方法。

以最简单的两因素两水平为例。假设两暴露因子分别为 A、B。1 表示因素存在,0 表示因素不存在,因变量为疾病的发生与否。logistic 回归模型得到的 OR 值,作为相对危险度(RR)的估计值,OR _A0B0 表示 A、B 都不存在时发病的 OR 值,分析时作为参照组;OR _A1B0 表示仅 A 存在、B 不存在时发病的 OR 值;OR _A0B1 表示 A不存在、仅 B 存在时发病的 OR 值;OR _A1B1 表示 A、B共同存在时发病的 OR 值。
Rothman 用于评价相加交互作用的三个指标公式如下:
RERI= OR _A1B1 - OR _A0B1 - OR _A1B0 +1;
AP = RERI / OR _A1B1 ;
SI= (OR _A1B1 - 1) / [(OR _A0B1 - 1) + (OR _A1B0 - 1)]

由此看出:RERI是A和B同时暴露的发病率减去单独A和B的危险度,得出的一个超出部分的危险度。AP就是超出部分的危险度占总危险度的比例。SI就是A和B同时暴露的发病率增加的危险度除以单独A和B的发病增加的危险度。(体会一下)。

下面咱们使用interactionR包进行分析,先导入R包和数据

library(interactionR)
bc<-read.csv("E:/r/test/jiaohu1.csv",sep=',',header=TRUE)

在这里插入图片描述
这是个很简单的数据,oc是结局变量,alc 和 smk是暴露因素。
先建立模型

model.glm <- glm(oc ~ alc * smk,
                 family = binomial(link = "logit"),
                 data = OCdata)

代码很简单,就一句代码

out <- interactionR(model.glm, 
                            exposure_names = c("alc", "smk"), 
                            ci.type = "mover", ci.level = 0.95, 
                            em = F, recode = F)

interactionR包可以直接生成一个做好的word表格,连做表格都帮你省了。

interactionR_table(out)

在这里插入图片描述
这个表格可以在RStudio 的目录(或者你设定的目录)下找到

在这里插入图片描述
怎么看这个表格呢,根据发病的方法比较OR,见下图

在这里插入图片描述
如果将“ci类型”设置为“mover,就会选择variance recovery这种方法

out <-interactionR(model.glm,
             exposure_names = c("alc", "smk"),
             ci.type = "mover", ci.level = 0.95,
             em = FALSE, recode = FALSE)

interactionR_table(out)

在这里插入图片描述
两个方法结果都差不多哈。下面演示一个包含三个二元变量数据,outcome 是结局变量, exp1 和exp2是暴露变量

d<-read.csv("E:/r/test/jiaohu2.csv",sep=',',header=TRUE)

在这里插入图片描述
方法基本一样,就是CI这里取的是"delta",recode = TRUE。

model.prev <- glm(outcome ~ exp1 * exp2, family = binomial(link = "logit"), data = d)

out1<-interactionR(model.prev,
             exposure_names = c("exp1", "exp2"),
             ci.type = "delta", ci.level = 0.95,
             em = FALSE, recode = TRUE
)

interactionR_table(out1)

在这里插入图片描述
我们看到多了个Effect of exp1 within the strata of exp2这个指标,大概的意思是exp1在exp2这个分层的效应。具体详情请参看:Zou GY. On the Estimation of Additive Interaction by Use of the Four-by-two Table and Beyond. American Journal of Epidemiology 2008; 168:212-24.这篇文章。

OK,本期文章结束,公众号回复:相加交互作用数据,可以获得文中两个数据,想进一步了解看下参考文献也是很有帮助的。

参考文献:

  1. Zou GY. On the Estimation of Additive Interaction by Use of the Four-by-two Table and Beyond. American Journal of Epidemiology 2008; 168:212-24.
  2. [1]许敏锐,强德仁,周义红,等.应用R软件进行logistic回归模型的交互作用分析[J].中国卫生统计, 2017, 34(4):4.DOI:CNKI:SUN:ZGWT.0.2017-04-043.
  3. Rothman K, Greenland S (1998). Modern Epidemiology. Lippincott - Raven Philadelphia, USA.
  4. Knol, M.J., VanderWeele, T.J., Groenwold, R.H.H. et al. Estimating measures of interaction on an additive scale for preventive exposures. Eur J Epidemiol 26, 433–438 (2011). https://doi.org/10.1007/s10654-011-9554-9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/971838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetes常见面试问题详解

在面试的时候&#xff0c;面试官常常会问一些问题&#xff1a; k8s是什么&#xff1f;有什么用?k8s由哪些组件组成&#xff1f;pod的启动流程&#xff1f;k8s里有哪些控制器&#xff1f;k8s的调度器里有哪些调度算法&#xff1f;pod和pod之间的通信过程&#xff1f;外面用户访…

规避【虚拟专线技术】使用风险实现业务系统安全

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 一、技战法描述 VPN是利用Internet等公共网络基础设施&#xff0c;通过隧道加密通信技 术&#xff0c;为用…

Linux中的多线程剖析

目录 1、前言 2、多线程理解 2.1 线程 2.2 通俗了解进程和线程 2.2.1 进程是资源分配的基本单位 2.2.2 Linux中的线程是一种轻量化进程 2.3 进程和线程详解 2.3.1 创建一个线程 (pthread_create) 2.3.2 线程自己的一部分数据 2.3.3 线程组 2.3.4 关于进程的其他操作…

Android之RecyclerView仿ViewPage滑动

文章目录 前言一、效果图二、实现步骤1.xml主布局2.所有用到的drawable资源文件3.xml item布局4.adapter适配器5.javabean实体类6.activity使用 总结 前言 我们都知道ViewPageFragment滑动&#xff0c;但是的需求里面已经有了这玩意&#xff0c;但是在Fragment中还要有类似功能…

Springboot + Sqlite实战(离线部署成功)

最近有个需求&#xff0c;是手机软件离线使用&#xff0c; 用的springboot mybatis-plus mysql&#xff0c;无法实现&#xff0c;于是考虑使用内嵌式轻量级的数据库SQLlite 引入依赖 <dependency><groupId>org.xerial</groupId><artifactId>sqlite-…

手写Mybatis:第10章-使用策略模式,调用参数处理器

文章目录 一、目标&#xff1a;参数处理器二、设计&#xff1a;参数处理器三、实现&#xff1a;参数处理器3.1 工程结构3.2 参数处理器关系图3.3 入参数校准3.4 参数策略处理器3.4.1 JDBC枚举类型修改3.4.2 类型处理器接口3.4.3 模板模式&#xff1a;类型处理器抽象基类3.4.4 类…

drone的简单使用

&#xff08;一&#xff09;简介 Drone 是一个基于Docker容器技术的可扩展的持续集成引擎&#xff0c;用于自动化测试、构建、发布。每个构建都在一个临时的Docker容器中执行&#xff0c;使开发人员能够完全控制其构建环境并保证隔离。开发者只需在项目中包含 .drone.yml文件&…

Java“牵手”唯品会商品列表数据,关键词搜索唯品会商品数据接口,唯品会API申请指南

唯品会商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取唯品会商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问唯品会商城的网页来获取商品详情信息。以下是两种常用方法的介…

《智能网联汽车自动驾驶功能测试规程》

一、 编制背景 2018 年4 月12 日&#xff0c;工业和信息化部、公安部、交通运输部联合发布《智能网联汽车道路测试管理规范(试行)》&#xff08;以下简称《管理规范》&#xff09;&#xff0c;对智能网联汽车道路测试申请、审核、管理以及测试主体、测试驾驶人和测试车辆要求等…

webpack5 (三)

webpack 高级配置 其实就是对 webpack 进行优化&#xff0c;让代码在编译/运行时性能更好 1. 提升开发体验 2. 提升打包构建速度 3. 减少代码体积 4. 优化代码运行性能 一、提升开发体验 sourcemap 在编译打包后所有的 css 和 js 都合并为了一个文件&#xff0c;并多了很多…

管理类联考——数学——汇总篇——知识点突破——数据分析——计数原理

角度——⛲️ 一、考点讲解 分类计数原理&#xff08;加法原理&#xff09; (1&#xff09;定义 如果完成一件事有n类办法&#xff0c;只要选择其中一类办法中的任何一种方法&#xff0c;就可以完成这件事。若第一类办法中有 m 1 m_1 m1​种不同的方法&#xff0c;第二类办法中…

SpringCloud(35):Nacos 服务发现快速入门

本小节,我们将演示如何使用Spring Cloud Alibaba Nacos Discovery为Spring cloud 应用程序与 Nacos 的无缝集成。 通过一些原生的spring cloud注解,我们可以快速来实现Spring cloud微服务的服务发现机制,并使用Nacos Server作为服务发现中心,统一管理所有微服务。 1 Spring…

uniapp集成windicss的流程

一、背景介绍 Windicss是一个基于Tailwind CSS 灵感的库,它更快、更兼容,使用 TypeScript 构建。Windicss的目标是为了解决与Tailwind CSS 类似的问题,提供一个可以快速上手开发的组件库,让开发者不再需要繁琐地编写 CSS 样式。Windicss包含了几乎所有的 CSS 样式,因此开发…

MongoDB常用的比较符号和一些功能符号

比较符号 results collection.find({age: {$gt: 20}})功能符号 results collection.find({name: {$regex: ^M.*}})

联合教育部高等学校科学研究发展中心,阿依瓦科技创新教育专项正式发布!

7 月 24 日&#xff0c;教育部科技发展中心官网发布了《中国高校产学研创新基金&#xff0d;阿依瓦科技创新教育专项申请指南》。 针对高校在人工智能、智能制造、智慧校园、大数据等领域科研和教研的创新研究&#xff0c;教育部高等学校科学研究发展中心与阿依瓦(北京)技术有…

RK3399平台开发系列讲解(内核调试篇)IO 数据工具:iostat和iotop

🚀返回专栏总目录 文章目录 一、iostat 命令二、/proc/diskstats 文件三、iotop 命令沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 在 Linux 系统上,iostat 和 iotop 这两个 IO 数据工具非常常用。它们都是性能分析领域中不可缺少的工具性软件。 一、iostat 命令…

linux和docker下mysql安装

目录 一、linux下mysql的安装 1.进入到/etc/yum.repos.d 2.编辑vim mysql-community.repo 3.编辑以下内容 4.保存退出&#xff0c;更新缓存yum makecache 5.下载mysql 6.启动并查看mysql状态 7.查找mysql密码 8.登陆mysql 9.密码修改参考MySQL密码修改 二、docker安…

solidity开发环境配置,vscode搭配remix

#学习笔记 初学solidity&#xff0c;使用remix非常方便&#xff0c;因为需要的环境都配置好了&#xff0c;打开网站就可以使用。 不过在编写代码方面&#xff0c;使用vscode更方便&#xff0c;而vscode本身并不能像remix那样部署合约&#xff0c;它还需要安装插件。 点击红色箭…

springboot整合mybatis实现增删改查(xml)--项目阶段1

目录 一、前言 二、创建项目 创建MySQL数据库和表 创建springboot项目 本文总体代码结构图预览 三、编写代码 &#xff08;一&#xff09;新建实体层属性类 &#xff08;二&#xff09;新建数据层mapper接口 &#xff08;三&#xff09;新建mapper的映射SQL&#xff08…

QProcess 调用 ffmpeg来处理音频

项目场景&#xff1a; 在文章 qt 实现音视频的分贝检测系统中&#xff0c;实现的是边播放变解析音频数据来统计音频的分贝大小&#xff0c;并不满足实际项目的需求&#xff0c;有的视频声音正常&#xff0c;有的视频声音就偏低&#xff0c;即使放到最大音量声音也是比较小&…