R语言logistic回归交互项(交互作用)的可视化分析

交互作用我们在前面已经说过,就不具体说了。在SCI论文中可以起到画龙点睛,并能进一步挖掘数据之间的亚组关系,进行数据挖掘也非常实用,交互项的可视化能把交互数据之间的关系明白的展示出来,在实际论文中绝对是加分项,废话不多说,我们实操一下。
我们这次使用的是R语言自带的人流后导致不孕的数据集,我们先导入看一下

bc<-infert      
names(bc)

在这里插入图片描述
在这里插入图片描述
数据有8个指标,最后两个是PSM匹配结果,我们不用理他,其余六个为:
Education:教育程度,age:年龄,parity产次,induced:人流次数,case:是否不孕,这是结局指标,spontaneous:自然流产次数。
有一些变量是分类变量,我们需要把它转换一下

bc$education<-ifelse(bc$education=="0-5yrs",0,ifelse(bc$education=="6-11yrs",1,2))
bc$spontaneous<-as.factor(bc$spontaneous)
bc$case<-as.factor(bc$case)
bc$induced<-as.factor(bc$induced)
bc$education<-as.factor(bc$education)

建立模型,假如我们想知道流产(包括人流和自然流产)和年龄这两个指标是不是存在交互影响

f1<- glm(case ~ age + education + parity + induced+spontaneous+age*induced*spontaneous,
           family = binomial(link = logit), data = bc)
summary(f1)

我们看到自然流产和年龄之间可能存在交互
在这里插入图片描述
我们导入R可视化包visreg

library("visreg")
library("visreg")
plot(visreg(f1,xvar = "age",by="spontaneous",plot=F),xlab="age",ylab="predict",
     overlay = T,partial = F,rug=F,,line=list(lty=1:6))
legend("topleft",
       c("没有流产","流产1次","流产2次以上"),
       lty=c(1,1,1),
       col=c("red","green","blue"),
       lwd=c(2,1,1),
       bty="n")

在这里插入图片描述
由此我们可知,随着年龄增长,自然流产2次以上的患者不孕的概率比没有自然流产的患者明显增高。
更多精彩文章请关注公众号:零基础说科研
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dege857/article/details/115025734