从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.pswp.cn/web/87291.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜索选择DFS还是BFS

1. DFS&#xff08;深度优先搜索&#xff09;&#xff1a;优先进行深度纵向搜索&#xff0c;DFS所需的内存少于BFS所需的内存&#xff0c;利用堆栈实现&#xff0c;适合找最短路径。 2. BFS&#xff08;广度优先搜索&#xff09;&#xff1a;优先进行广度横向搜索&#xff0c;…

三格电子——电力协议转换器

Modbus 转 IE104 网关型号 SG-TCP-IEC104 &#xff0c;是三格电子推出的工业级网关&#xff08;以下简称网 关&#xff09;&#xff0c;主要用于 Modbus RTU/TCP/ASCII 数据采集、 DLT645-1997/2007 数据采集&#xff0c;可接多功 能电力仪表、温控仪、电表等&#xf…

UE5 瞄准偏移(AimOffset)功能详解

什么是AimOffset? AimOffset(瞄准偏移)是一种特殊的动画混合空间(类似于 Blend Space),它通过将多个预设姿势叠加到一个基础动作上,实现角色根据视角方向进行上下左右的动画混合。简单来说,AimOffset 在射击游戏中常用来处理角色持枪瞄准时的动作,比如抬头、低头、左…

在Ubuntu24上安装ollama

安装ollama之前&#xff0c;建议检查显卡驱动是否安装完成。如果还未安装显卡驱动&#xff0c;建议先安装显卡驱动再安装ollama。 安装curl sudo apt update sudo apt -y install curl进入ollama的下载网站 https://ollama.com/download/linux 复制安装脚本&#xff0c;并在…

【Kafka使用方式以及原理】

Kafka生产者发送消息的方式 Kafka生产者发送消息主要通过以下三种方式&#xff1a; 同步发送 生产者发送消息后&#xff0c;会阻塞等待Broker的响应&#xff0c;确认消息是否成功写入。这种方式可靠性高&#xff0c;但吞吐量较低。代码示例&#xff1a; ProducerRecord<S…

【ChatTTS】ChatTTS使用体验

ChatTTS 使用体验&#xff1a;初始使用真的十分惊艳。可以尝试官网调用试一试。部署的好处是&#xff0c;遇到好听的音色可以把参数自动存储在本地。 苦恼&#xff1a;相同参数生成的音色不一致&#xff0c;需要多次调整&#xff0c;但最终效果非常满意。 ⭐ GitHub Star数变化…

华为云Flexus+DeepSeek征文| 基于华为云Dify-LLM高可用平台开发运维故障处理智能体

华为云FlexusDeepSeek征文&#xff5c; 基于华为云Dify-LLM高可用平台开发运维故障处理智能体 1. 概述2. 创建工作流2.1. 创建开始节点2.2. 创建搜索节点2.3. 创建LLM大模型节点2.4. 创建结束节点 3. 测试工作流4. 应用发布5. 总结 1. 概述 Dify是一款开源的LLM应用开发平台&am…

vue中scss下载方式与引入方式

1. scss下载 npm install sass-loader --save-devnpm install node-sass --save-dev 2. 在style标签里面加入lang“scss” 测试下&#xff01;

Day04_C语言IO进程线程

01.思维导图 02.创建一个分支线程&#xff0c;在主线程中拷贝文件的前一部分&#xff0c;主线程拷贝文件的后一部分 #include <25051head.h> void* callback(void *arg) {off_t size*(off_t*)arg;//打开一个文件读//打开一个文件写int fd_r2open("./my.txt",O_…

金牛区数字文创梦工厂:国际数字影像产业园的先行服务

在金牛区数字文创梦工厂的实践中&#xff0c;先行服务作为创新引擎&#xff0c;为企业提供预启动阶段的全方位支持。其核心理念是通过前置化咨询和资源整合&#xff0c;降低试错成本&#xff0c;赋能产业升级。 先行服务的三大核心优势 通过主动介入项目启动前环节&#xff0…

使用RSA对网址url栏加密以及二维码的网址内容加密

JSEncrypt 库 &#xff1a; - 引入了 jsencrypt/bin/jsencrypt.min - 需要在项目中安装 jsencrypt 包 npm install jsencrypt import JSEncrypt from jsencrypt/bin/jsencrypt.min// 密钥对生成 http://web.chacuo.net/netrsakeypairconst publicKey MFwAAQconst privateKe…

如何用 Kafka Manager 实现 Kafka 集群全面监控

1. 前言:为什么需要 Kafka 集群监控? Apache Kafka 是现代大数据架构中不可或缺的组件,广泛用于日志收集、流处理、消息队列等场景。随着 Kafka 集群规模的增长和业务复杂度的提升,对 Kafka 的实时监控变得尤为重要。 1.1 Kafka 在大数据架构中的核心地位 Kafka 被广泛应…

MyBatis架构原理解析:核心对象与执行流程深度剖析

一、开篇&#xff1a;理解MyBatis的核心价值 在当今Java持久层框架生态中&#xff0c;MyBatis凭借其灵活的SQL控制能力和简洁的ORM实现成为企业级应用的首选。与JPA的全自动ORM不同&#xff0c;MyBatis采用半自动化映射理念&#xff0c;在保持SQL灵活性的同时&#xff0c;通过…

移远通信携手高通:以全栈车载解决方案,共绘智能出行新蓝图

6月26日至27日&#xff0c;2025高通汽车技术与合作峰会于苏州盛大举办。本次峰会以 “我们一起&#xff0c;行稳智远” 为主题&#xff0c;全方位呈现智能汽车全栈技术、全产业链生态与全场景体验。作为高通长期稳定的战略合作伙伴&#xff0c;移远通信携全栈车载智能解决方案深…

拿来就能用的python 课程 1

拿来就能用的python 课程 引言 python是很多人入门计算机语言的首选。 但是繁文缛节&#xff0c;很多人从怎么装python开始学起&#xff0c;然后python计算&#xff0c;然后什么是函数&#xff0c;然后什么是类&#xff0c;然后就因为太难放弃了。&#xff08;说的是不是你&a…

openssh-server

默认地&#xff0c;Ubuntu桌面版不带SSH服务器 1 检查服务是否存在 ls /usr/sbin/sshd2 安装服务 apt install openssh-server3 关闭防火墙 ufw disable 4 启动服务 service ssh start

html虚拟滚动,解决dom渲染过多卡顿的问题

<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><title>极简虚拟滚动</title><style>.container {width: 300px;height: 300px;border: 1px solid #ccc;overflow: auto;position: relative;}.pl…

华锐互动:全方位定制化 VR 内容制作服务流程剖析​

华锐互动始终坚持以客户为中心&#xff0c;为客户提供全方位、定制化的 VR 内容制作服务。从项目的最初阶段开始&#xff0c;华锐互动就会深入了解客户的需求和目标&#xff0c;与客户进行充分的沟通和交流&#xff0c;挖掘项目背后的故事和文化内涵&#xff0c;然后根据客户的…

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | DragNDrop(拖拽占用组件)

&#x1f4c5; 我们继续 50 个小项目挑战&#xff01;—— DragNDrop组件 仓库地址&#xff1a;https://github.com/SunACong/50-vue-projects 项目预览地址&#xff1a;https://50-vue-projects.vercel.app/ 使用 Vue 3 的 Composition API 和 <script setup> 语法结合…

springboot应用即使使用了连接池,MySQL数据库仍然有大量sleep状态的连接

springboot应用即使使用了连接池&#xff0c;MySQL数据库仍然有大量sleep状态的连接 问题背景概念理解MySQL配置参数wait_timeout概念Hikari配置参数&#xff08;项目使用hikari作为数据库连接池&#xff09; 实践出真知总结和解决思路 问题背景 近期客户生产环境报&#xff1…