scitb5函数2.1版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图

server/2025/1/15 18:19:43/

写在前面的话,此函数不适用于NHANES数据,也不能用于COX回归,请注意甄别。
在SCI文章中,交互效应表格(通常是表五)几乎是高分SCI必有。因为增加了亚组人群分析,增加了文章的可信度,能为文章锦上添花,增加文章的信服力,还能进行数据挖掘。

在这里插入图片描述
在既往文章《scitb5函数1.7版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图》中,本人发布了自己编写的scitb5函数,用于绘制交互效应表。效果还不错,旧版本不能生成亚组的P值和调节小数位数,新版本增加了以上功能,还增加了线性回归森林图的绘制,下面我来演示一下。

导入我们的早产数据和函数

source("E:/r/myfit/21scitb5.R")
bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)
bc <- na.omit(bc)

在这里插入图片描述
这是一个关于早产低体重儿的数据(公众号回复:早产数据,可以获得该数据),低于2500g被认为是低体重儿。数据解释如下:low 是否是小于2500g早产低体重儿,age 母亲的年龄,lwt 末次月经体重,race 种族,smoke 孕期抽烟,ptl 早产史(计数),ht 有高血压病史,ui 子宫过敏,ftv 早孕时看医生的次数,bwt 新生儿体重数值

分类变量转成因子

bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))
bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)
bc$low<-factor(bc$low)
bc$race<-factor(bc$race)
bc$ht<-factor(bc$ht)
bc$ui<-factor(bc$ui)

定义协变量和分层因子

cov1<-c("lwt","smoke","ptl","ui","ftv","race")	
Interaction<-c("race","smoke","ui")

生成结果

out<-scitb5(data=bc,x="age",y="low",Interaction=Interaction,cov = cov1,family="glm")

在这里插入图片描述
调节小数位数,dec调整OR的小数位数,pdec调整P值的小数位数,p.intervaue调整交互P值小数位数

out<-scitb5(data=bc,x="age",y="low",Interaction=Interaction,cov = cov1,family="glm",dec = 5,pdec = 5,p.intervaue = 5)

在这里插入图片描述
一键绘制森林图

plotforest(out)

在这里插入图片描述
加下来说一个包含的问题,在既往函数中,我要求协变量COV是要包含分层变量,不然就会报错,但也有些粉丝说这样有时候不够灵活,新版本中这个包含规则也是可以关掉的,我重新设置一下协变量h额分层

cov1<-c("lwt","smoke","ptl","ui","ftv")	
Interaction<-c("race","smoke","ui")

以前这样是做不出来的,因为"race"没有在协变量里面

out<-scitb5(data=bc,x="age",y="low",Interaction=Interaction,cov = cov1,family="glm") #运行不了

在这里插入图片描述
现在可以了

out<-scitb5(data=bc,x="age",y="low",Interaction=Interaction,cov = cov1,family="glm",contain = F)

在这里插入图片描述
生成森林图

plotforest(out)

在这里插入图片描述
森林图可以调整演示和范围

plotforest(out,xticks=c(0,10,20),col = "red")

在这里插入图片描述
下面演示一下分组变量,这里ht是个分类数据,表示是否有高血压。

cov1<-c("lwt","smoke","ptl","ui","ftv","race")	
Interaction<-c("race","smoke","ui")
out<-scitb5(data=bc,x="ht",y="low",Interaction=Interaction,cov = cov1,family="glm")

在这里插入图片描述
上图我要解释一下,做分类变量的时候需要设定一个参考,在race这个分层比较的时候,ht.0_race.1是被认定做参考的,什么意思呢?就是当ht等于0和race等于1这个亚组的人群是被默认为做参考比较的,其他组都是和它进行比较最后一组有个数据缺失,是因为这个分层一个数据都没有,所以就是NA。
所以说,分类变量进行亚组交互的时候,分类最好不要太多,要不数据会很大,而且有些层分不到数据。下面来演示一下粉丝的数据,主要是演示线性回归绘制森林图

我们先导入数据,数据我就不解释了

bc<-read.csv("E:/r/fensi/DII_GROUP.csv",sep=',',header=TRUE)
dput(names(bc))
bc[,c("sex_02", "nianling_02", "marriage_02", "GROUP","smoke_02")] <- lapply(bc[,c("sex_02",  "nianling_02", "marriage_02","GROUP", "smoke_02")], factor)
str(bc)
########
Interaction<-c("sex_02", "nianling_02", "marriage_02", "smoke_02")
cov<-c("sex_02", "nianling_02", "marriage_02", "smoke_02","wc_02")

生成结果,这里的Y是连续变量,所以是线性回归

out<-scitb5(data=bc,x="GROUP",y="DII_total_02",Interaction=Interaction,cov = cov,family="glm")

在这里插入图片描述
旧版本是做不了线性回归森林图的,我看了一下有的文章确实有做线性回归森林图,所以在新版本也开发了这个线性回归森林图,方法也是一样的

plotforest(out)

在这里插入图片描述
我们注意一下上图有红箭头,有小数点存在,这和我的算法有关,你可以自己调整一下

plotforest(out,xticks=c(-3,0,5))

在这里插入图片描述
如果你还不会也没有关系,请看下面的视频操作

我暂时还没有把两个函数进行和并的打算,NHANES数据的COX回归亚组交互函数也在编写中,可能还要等一等。

需要获取scitb5.coxph 函数可以看下面这篇文章

scitb5函数2.1版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图


http://www.ppmy.cn/server/38011.html

相关文章

【Vue】Vue packages version mismatch(vue 和 vue-template-compiler)

报错&#xff1a;Vue packages version mismatch 原因&#xff1a;vue和vue-template-compiler版本不一样解决&#xff1a;如上vue版本为 2.6.14&#xff0c;vue-template-comiler版本为2.7.16。将vue-template-comiler版本设置为和vue版本一致即可。 npm install vue-templat…

【C语言】项目实践-贪吃蛇小游戏(Windows环境的控制台下)

一.游戏要实现基本的功能&#xff1a; • 贪吃蛇地图绘制 • 蛇吃食物的功能 &#xff08;上、下、左、右方向键控制蛇的动作&#xff09; • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 二.技术要点 C语言函数、枚举、结构体、动态内存管…

C++ Opencv之图像数据拷贝分析

本文承接https://blog.csdn.net/yohnyang/article/details/130367802总结一下在使用Opencv中图像矩阵Mat数据赋值时的内存拷贝字节 测试代码C #include<iostream> #include<opencv2/opencv.hpp>void main() {//cv::Mat A (cv::Mat_<float>(3, 3) <<…

【xxl-job | 第三篇】SpringBoot整合xxl-job

文章目录 3.SpringBoot整合xxl-job3.1定时任务服务配置3.1.1导入maven依赖3.1.2yml配置3.1.3XxlJobConfig配置类3.1.4定时任务类 3.2xxl-job配置3.2.1新增执行器3.2.2新增任务3.2.3执行任务3.2.4查看日志3.2.5查看任务后台日志 3.3小结 3.SpringBoot整合xxl-job 3.1定时任务服…

【Linux网络编程】4.TCP协议、select多路IO转换

目录 TCP协议 TCP通讯时序 三次握手 四次挥手 滑动窗口 测试代码1 测试结果 Address already in use解决方法 批量杀进程 测试代码2 测试结果 测试代码4 测试结果 TCP状态转换 主动发起连接请求端 主动关闭连接请求端 被动接收连接请求端 被动关闭连接请求端…

图片在线压缩,base64在线转换

图片在线压缩&#xff0c;超级好用 图片压缩 - 在线免费图片压缩软件-迅捷压缩在线迅捷免费在线图片压缩软件提供JPG压缩、PNG压缩、BMP压缩功能,为用户解决如何压缩图片的问题,实现一键压缩图片大小,是一款专业的高质量图片压缩工具.https://yasuo.xunjiepdf.com/img/ base64…

Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享

参考文档 useShareAppMessage 注意 使用时&#xff0c;必须为页面配置 enableShareAppMessage: true。&#xff08;修改配置文件后请重新编译项目&#xff09;当 onShareAppMessage 没有触发时&#xff0c;请在页面配置中设置 enableShareAppMessage: true只有定义了此事件处…

网闸与防火墙的区别

网闸与防火墙的区别 网闸与防火墙是两种不同的网络安全设备&#xff0c;它们的主要区别在于功能、部署位置、工作模式以及应用场景。12 功能差异&#xff1a;网闸主要用于流量控制、流量监视和攻击检测&#xff0c;而防火墙主要用于访问控制、网络地址转换和状态检测。网闸通常…