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

R语言基于ggscitable包复现一篇3.5分的文章的连续变量交互效应(交互作用)的可视化图

交互作用效应(p for Interaction)在SCI文章中可以算是一个必杀技,几乎在高分的SCI中必出现,因为把人群分为亚组后再进行统计可以增强文章结果的可靠性,进行可视化后可以清晰的表明变量之间的关系。不仅如此,交互作用还可以使用来进行数据挖掘。既往咱们再文章《ggscitable包发布–一键生成1篇3.8分文章的亚组交互效应图》中已经介绍了分类变量如何做亚组交互,今天咱们继续来介绍ggscitable包如何做连续变量交互。

在这里插入图片描述
在文章Association between ultra-processed food and osteoporosis: a cross-sectional study based on the NHANES database(超加工食品与骨质疏松症之间的关系:基于NHANES数据库的横断面研究)中,作者为了介绍超加工食品和运动锻炼对骨质疏松的交互影响,生成了下面两个图,作者称交互热图和3D可视图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
今天咱们通过ggscitable包来复现这两个图,先导入数据和R包

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

在这里插入图片描述
这是个右心导管介入后的死亡数据,分类变量转成因子

bc$death<-ifelse(bc$death=="Yes",1,0)
bc$swang1<-ifelse(bc$swang1=="RHC",1,0)
bc$swang1<-as.factor(bc$swang1)
bc$sex<-as.factor(bc$sex)

Death是结局变量,其他的都是一些协变量,假设我想研究年龄和死亡的关系,想知道肌酐和年龄有没有交互作用。

肌酐和年龄都是连续变量,我们先来2D的

##2D
ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",username=username,token=token)

在这里插入图片描述
修改X轴Y轴名字

###修改X轴Y轴名字
ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",
                 xlab = "年龄",ylab = "尿酸",username=username,token=token)

在这里插入图片描述
添加协变量

ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",cov = c("sex"),family = "glm",
                 username=username,token=token)

在这里插入图片描述
###修改颜色

ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",cov = c("sex"),family = "glm",username=username,token=token,
                 col = c("black", "white", "purple"))

在这里插入图片描述
默认的Y轴是log(P),如果你想表示为概率也可以转换,我们可以看到右边这个轴的概率明显不同了

###转换为概率
ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",username=username,token=token,
                 cov = c("sex"),family = "glm",trans = T)

在这里插入图片描述
下面绘制3D效果图,这个是你的电脑速度而定,我的电脑是有点慢,差不多要30秒

##3D
ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",type = "3D",title=NULL,
                 username=username,token=token)

在这里插入图片描述
下面是一些详细操作,修改标签、标题、颜色啥的

ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",type = "3D",title="交互图",
                 xlab = "年龄",ylab = "肌酐",username=username,token=token)
ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",cov = c("sex"),
                 type = "3D",title=NULL,trans = T,username=username,token=token)
ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",cov = c("sex"),
                 type = "3D",title=NULL,trans = T,col = "red",username=username,token=token)

在这里插入图片描述
还有一种可以转动的格式

ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",cov = c("sex"),
                 type = "rgl",title=NULL,trans = T,username=username,token=token)

在这里插入图片描述
接下来是线性回归,都是差不多的,我就不解释了,直接上代码

library(foreign)
be <- read.spss("E:/r/test/ozone.sav",
                use.value.labels=F, to.data.frame=T)

ggconinteraction(data = be,x="ibh",y="ozon",Interaction="temp",family = "glm",username=username,token=token)

在这里插入图片描述
一些参数修改

ggconinteraction(data = be,x="ibh",y="ozon",Interaction="temp",family = "glm",username=username,token=token)

在这里插入图片描述
3D立体图

ggconinteraction(data = be,x="ibh",y="ozon",Interaction="temp",family = "glm",type = "3D",username=username,token=token)

在这里插入图片描述

一些细节修改

ggconinteraction(data = bc,x="age",y="death",Interaction="crea1",family = "glm",type = "3D",title="交互图",
                 xlab = "高度",ylab = "温度",col = "red",username=username,token=token)

在这里插入图片描述
生存分析也是基本一样,就是多个时间参数

library(foreign)
bc <- read.spss("E:/r/Breast cancer survival agec.sav",
                use.value.labels=F, to.data.frame=T)
bc$histgrad<-as.factor(bc$histgrad)
bc$er<-as.factor(bc$er)
bc$pr<-as.factor(bc$pr)
bc$ln_yesno<-as.factor(bc$ln_yesno)
names(bc)
ggconinteraction(data = bc,x="age",y="status",Interaction="pathsize",family = "cox",time = "time",
                 username=username,token=token)

在这里插入图片描述
3D图也基本一样

ggconinteraction(data = bc,x="age",y="status",Interaction="pathsize",
                 family = "cox",time = "time",type = "3D",username=username,token=token)

ggconinteraction(data = bc,x="age",y="status",Interaction="pathsize",
                 family = "cox",time = "time",type = "3D",title="交互图",
                 xlab = "年龄",ylab = "肿瘤大小",col = "red",username=username,token=token)

在这里插入图片描述

如果看不明白,下面还有视频操作

R语言基于ggscitable包复现一篇3.5分的文章的连续变量交互效应(交互作用)的可视化图

相关文章:

  • 记一次线上SQL死锁事故
  • 【一】Vue组件开发教程
  • Halcon算子 二维码识别、案例
  • AI 时代的通信新范式:MCP(模块化通信协议)的优势与应用
  • openvela新时代的国产开源RTOS系统
  • [网络安全] 滥用Azure内置Contributor角色横向移动至Azure VM
  • QA:备份产品的存储架构采用集中式和分布式的优劣?
  • 如何配置本地git
  • QT软件匠心开发,塑造卓越设计服务
  • 智慧港口新未来:大数据赋能应急消防,筑牢安全防线
  • 关于numpy里面的轴(axis)
  • w264民族婚纱预定系统
  • Python 爬虫(4)HTTP协议
  • 如何提高G口服务器的安全性?
  • 【技术简析】触觉智能RK3506 Linux星闪网关开发板:重新定义工业物联新标杆
  • 星越L_ 雨刷使用功能讲解
  • IDA调试时对异常的处理
  • Maven 简介及其核心概念
  • MySql中 一条select语句的执行流程
  • 使用DeepSeek翻译英文科技论文,以MarkDown格式输出,使用Writage 3.3.1插件转换为Word文件
  • 把中国声音带向世界,DG和Blue Note落户中国
  • 30平米的无障碍酒吧里,我们将偏见折叠又摊开
  • 河南省委常委会会议:坚持以案为鉴,深刻汲取教训
  • 北京今日白天超30℃晚间下冰雹,市民称“没见过这么大颗的”
  • 专访|茸主:杀回UFC,只为给自己一个交代
  • 乌方:泽连斯基只接受与普京会谈,拒见其他俄代表