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

代码+视频,R语言logistic回归交互项(交互作用)的可视化分析

交互作用效应(p for Interaction)在SCI文章中可以算是一个必杀技,几乎在高分的SCI中必出现,因为把人群分为亚组后再进行统计可以增强文章结果的可靠性,不仅如此,交互作用还可以使用来进行数据挖掘。在既往文章中,我们已经介绍了怎么使用R语言可视化visreg包对交互作用进行可视化分析(见下图)
在这里插入图片描述
使用visreg包后我们对图形的细节掌控力不够,今天我们视频介绍使用重新绘制手动图形,这在SCI论文中非常实用,几乎可以做出所有的交互可视化,也有利于我们了解制图原理。

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

代码:

library(ggplot2)
#公众号:零基础说科研,公众号回复:不孕症,可以获得数据
bc<-read.csv("E:/r/test/buyunzheng.csv",sep=',',header=TRUE)
# 数据有8个指标,最后两个是PSM匹配结果,我们不用理他,其余六个为:
# Education:教育程度,age:年龄,parity产次,induced:人流次数,
# case:是否不孕,这是结局指标,spontaneous:自然流产次数。
names(bc)
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  + parity +spontaneous+age:spontaneous,family = binomial(link = logit), data = bc)
summary(f1)
#plogis(exp(newdata3$fit-(1.96*newdata3$se.fit)))
attach(bc)
newdata2<-data.frame(age,spontaneous,parity=mean(parity))
newdata3<-data.frame(newdata2,predict(f1,newdata = newdata2,type = "link",se =T))newdata4<-within(newdata3,{pre<-plogis(fit)ll<-plogis(fit-(1.96*se.fit))ul<-plogis(fit+(1.96*se.fit))
})plogis((newdata3$fit-(1.96*newdata3$se.fit)))ggplot(newdata4,aes(x=age,y=pre))+geom_ribbon(aes(ymin=ll,ymax=ul,fill=spontaneous),alpha=0.2)+geom_line(aes(col=spontaneous),linewidth=1)

相关文章:

  • Eureka的介绍和作用,以及搭建
  • GPT实战系列-LangChain的Prompt提示模版构建
  • Leetcode 448. 找到所有数组中消失的数字
  • 【Django开发】前后端分离美多商城项目第3篇:用户部分,1. 后端接口设计:【附代码文档】
  • 机器学习-04-分类算法-04-支持向量机SVM
  • JNDI注入原理及利用IDEA漏洞复现
  • 小巧玲珑的SQLite
  • Java中的类与对象
  • 笔试总结01
  • 深度学习基础知识概述
  • 【算法】差分、前缀和(重新排序)
  • 外包干了3天,技术明显进步。。。。。
  • Mac玩《幻兽帕鲁》为什么打不开D3DMetal?d3d错误怎么办 d3dxl error
  • 前端结合 react axios 获取真实下载、上传进度
  • Vue3学习日记 Day4 —— pnpm,Eslint
  • 时间复杂度分析经典问题——最大子序列和
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 07.Android之多媒体问题
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • EventListener原理
  • IndexedDB
  • JavaScript-Array类型
  • Redis中的lru算法实现
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 分享一份非常强势的Android面试题
  • 基于遗传算法的优化问题求解
  • 前端_面试
  • 试着探索高并发下的系统架构面貌
  • 我的zsh配置, 2019最新方案
  • 一个完整Java Web项目背后的密码
  • 中文输入法与React文本输入框的问题与解决方案
  • ​Linux·i2c驱动架构​
  • #162 (Div. 2)
  • (1) caustics\
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (黑马C++)L06 重载与继承
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (一)appium-desktop定位元素原理
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)负载均衡,回话保持,cookie
  • ***详解账号泄露:全球约1亿用户已泄露
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net 按比例显示图片的缩略图
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET的数据绑定
  • .Net组件程序设计之线程、并发管理(一)
  • @Bean有哪些属性
  • @Transaction注解失效的几种场景(附有示例代码)
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [Android]使用Retrofit进行网络请求
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [AX]AX2012 R2 出差申请和支出报告