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

从0开始学习R语言--Day37--CMH检验

对于有多个特征的数据,我们一般的处理方式是构建特征函数,计算每个特征向量的系数,从而将其影响纳入到研究量中,但对于简单的问题,也这样做的话未免有点小题大做。这时我们可以考虑用CMH来分析变量在每个特征下的影响,这个方法可以通过分层控制不同的无关特征和变量,凸显变量真实的关联关系。

以下是一个例子:

set.seed(123)
n <- 500  # 增大样本量
Age <- sample(c("Young", "Middle", "Old"), n, replace = TRUE, prob = c(0.3, 0.4, 0.3))
Drug <- sample(c("A", "B"), n, replace = TRUE)# 改进:药物B在Old组更可能有效,但允许例外
Effect <- ifelse((Drug == "B" & Age == "Old" & runif(n) > 0.2) |  # 80% 有效(Drug == "A" & Age == "Young" & runif(n) > 0.3) | # 70% 有效(Age == "Middle" & Drug == "B" & runif(n) > 0.6) | # Middle组B药40%有效(runif(n) > 0.9),  # 10% 的全局随机有效"Improved", "Not Improved"
)
df <- data.frame(Age, Drug, Effect)
head(df)# 三维列联表(Age × Drug × Effect)
table_array <- table(df$Drug, df$Effect, df$Age)
table_array# 使用mantelhaen.test()
result <- mantelhaen.test(table_array)
resultlibrary(ggplot2)
ggplot(df, aes(x = Drug, fill = Effect)) +geom_bar(position = "fill") +facet_wrap(~ Age) +labs(y = "Proportion") +theme_minimal()

输出:

, ,  = MiddleImproved Not ImprovedA       15           84B       51           59, ,  = OldImproved Not ImprovedA        7           63B       60           18, ,  = YoungImproved Not ImprovedA       52           24B        5           62 Mantel-Haenszel chi-squared test with continuity correctiondata:  table_array
Mantel-Haenszel X-squared = 12.072, df = 1, p-value = 0.000512
alternative hypothesis: true common odds ratio is not equal to 1
95 percent confidence interval:0.4232736 0.8208328
sample estimates:
common odds ratio 0.5894378

从输出可以看到,在Middle和Old组药物B更有效,Young组则是药物A,而检验的结果p为0.0005,说明在调查年龄分组后,药物与疗效的关系十分显著,而公共比值则意味着使用药物B的患者获得改善的几率是药物A的0.59倍。

http://www.xdnf.cn/news/14839.html

相关文章:

  • 如何将信息从 iPhone 同步到Mac(完整步骤和示意图)
  • Mac电脑 触摸板增强工具 BetterTouchTool
  • NumPy 安装使用教程
  • Qt的前端和后端过于耦合(0/7)
  • Apache POI 详解 - Java 操作 Excel/Word/PPT
  • 【网工|知识升华版|实验】5 网络质量探测
  • 【大模型学习】项目练习:文档对话助手
  • Linux开发工具——gcc/g++
  • MacOS 安装brew 国内源【超简洁步骤】
  • SpringBoot 自动配置原理
  • 优雅草蜻蜓T语音会议系统私有化部署方案与RTC技术深度解析-优雅草卓伊凡|clam
  • 金融安全生命线:用AWS EventBridge和CloudTrail构建主动式入侵检测系统
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • 第五章 局域网基础
  • 网络编程学习路线
  • AI时代API挑战加剧,API安全厂商F5护航企业数字未来
  • AJAX 安装使用教程
  • 从定位到变现:创客匠人创始人IP打造的底层逻辑与实践路径
  • RediSearch 字段类型与配置选项
  • 当工业设备开始“独立思考“——AI边缘计算网关的泛在化应用
  • 分布式事务理论基础及常见解决方案
  • Linux基本命令篇 —— alias命令
  • Vue 安装使用教程
  • 【格与代数系统】格与哈斯图
  • 【1.6 漫画数据库设计实战 - 从零开始设计高性能数据库】
  • Docker进阶命令与参数——AI教你学Docker
  • 【Python基础】11 Python深度学习生态系统全景解析:从基础框架到专业应用的技术深度剖析(超长版,附多个代码及结果)
  • [Python 基础课程]字符串
  • 主流零信任安全产品深度介绍
  • ESP官网的使用手册网址