📘 原书正文提炼(OCR页 196-197)
原书通过“心梗与吸烟四格表”展示卡方思想:先在无效假设下计算理论频数,再比较与实际频数的偏离是否超出随机误差可解释范围。
卡方并非只在列联表里出现,许多模型检验(如Wald、似然比、log-rank)背后都与卡方分布相关。
使用卡方前要确认频数条件与设计结构:期望频数过小、配对数据或稀疏表格场景下,常需切换Fisher或McNemar等方法。
🔍 深入讲解(第三次扩写)
把两组率比较理解成“均值差比较”也能做,但卡方路径更强调分类数据的频数结构,解释上更贴近列联表直觉。
卡方值越大,说明理论与观察差异越大;但差异来源可能是抽样误差,也可能是无效假设错误,统计推断正是要区分这两种可能。
病例对照研究里,卡方显著后仍应报告OR及区间。因为P值告诉你“是否有关联”,OR告诉你“关联有多强”。
若存在分层或混杂因素,仅靠简单卡方不足以回答因果问题,需进入分层分析或Logistic回归。
🧩 概念拆解与方法边界
- 理论频数:在无效假设下应出现的频数。
- 观察频数:样本中真实记录到的频数。
- 偏离程度:二者差异大小决定卡方统计量。
🏥 医学科研落地场景
- • 病例对照研究中比较暴露率差异。
- • 医院质控中比较事件发生比例变化。
- • 方法学比较时先看独立性,再决定是否用配对卡方。
🧪 小例题(本章最短实战)
病例对照四格表比较吸烟与心梗关联,输出χ²与OR,不只看显著性。
💻 R 最短复现片段
tab <- matrix(c(158,169,82,311), nrow=2, byrow=TRUE)
dimnames(tab) <- list(mi=c("yes","no"), smoke=c("yes","no"))
chisq.test(tab, correct=FALSE)
fisher.test(tab)
📌 R结果解释标准模板
- • 数据概况:分类结局与分类暴露,适合列联表分析。
- • 核心结果:报告 χ²/Fisher + OR(95%CI) 而非只给 P 值。
- • 解释句式:'吸烟与心梗存在/不存在统计学关联,关联强度为 OR=...。'
🛠️ 常见报错排查(R运行失败时怎么改)
- • 报错 `object not found`:先运行完整代码块(含 `set.seed`、`data.frame`),不要只运行最后两行模型代码。
- • 报错 `could not find function`:确认函数来源包是否已安装并加载;优先执行 `install.packages('包名')` 后再 `library(包名)`。
- • 报错 `non-numeric argument`:检查变量类型,必要时用 `str(dat)` 查看并将字符变量转为数值或因子。
- • 报错 `contrasts can be applied only to factors`:分组变量先转因子,例如 `dat$group <- as.factor(dat$group)`。
- • 报错 `NA/NaN/Inf in ...`:先清理缺失或无穷值,如 `dat <- na.omit(dat)`,并排查除零与非法变换。
- • 结果与页面示例不完全一致:先确认 R 版本与包版本,再完整重跑代码块;模拟数据场景下以“方向与解释框架一致”为主。
🖱️ SPSS 最短复现片段
列联表中勾选卡方和风险估计;若期望频数过小同时看Fisher。
CROSSTABS
/TABLES=mi BY smoke
/STATISTICS=CHISQ RISK
/CELLS=COUNT ROW COLUMN.
🧾 论文/汇报可直接套用
结果句:'列联表分析显示两变量存在统计学关联(χ²=xx.xx,P<0.001),进一步报告OR及95%CI以量化关联强度。'
⚠️ 本章高发误区
- • 期望频数过小仍直接用Pearson卡方。
- • 配对数据错用独立样本卡方。
- • 只报P值,不报OR及区间。
- • 把关联解释成因果结论。
✅ 本章实操清单
- • 先检查列联表与期望频数条件。
- • 识别是否为配对/重复测量设计。
- • 同时报告效应指标(OR/RR)和CI。
- • 必要时改用Fisher或回归模型。
📝 课后思考题
- • 你的列联表里是否存在稀疏格子?
- • 当前数据是独立样本还是配对样本?
- • 结论里是否把“关联”过度表述为“因果”?