📘 原书正文提炼(OCR页 50-52)
原书把变量分为连续、离散、二分类、无序多分类、有序多分类,并强调:这不是概念游戏,而是方法选择的入口条件。
最容易混淆的是“计数资料”和“分类资料”。计数资料有单位、值本身有数量意义;分类资料是类别标签,数字编码只是符号,不是数值大小。
不同变量类型对应不同模型族:计数资料常见 Poisson/负二项回归,分类资料常见 Logistic/多项Logistic,不可随意互换。
🔍 深入讲解(第三次扩写)
在医学论文中,变量误分类非常高发。比如把疼痛评分(有序)当连续变量直接做线性回归,或者把咳嗽次数(计数)当二分类粗暴截断,都会损失信息。
变量类型还决定汇总方式:连续变量常用均值±SD或中位数(IQR);分类变量用频数(%)。若汇总方式与变量属性不匹配,读者会误判效应大小。
原书举的“是否咳嗽”和“咳嗽次数”对比很关键:同一临床问题,结局定义不同,模型和解释完全不同。研究者应先问“我要回答哪个问题”,再定义变量。
当变量存在层级或过度离散时,应考虑更合适模型(如负二项、零膨胀模型),而不是强行沿用熟悉的检验。
🧩 概念拆解与方法边界
- 测量尺度:名义/有序/等距/比率尺度决定可做的运算与检验。
- 编码不等于量化:把男=1、女=0编码,不代表1比0“更多”。
- 模型匹配:结局变量分布决定模型族,而非研究者个人偏好。
🏥 医学科研落地场景
- • 不良事件次数常用负二项回归,比简单t检验更稳妥。
- • 疗效等级(显效/有效/无效)可优先考虑有序Logistic。
- • 电子病历特征工程时先建立统一变量字典,减少误分类。
🧪 小例题(本章最短实战)
咳嗽“是否发生”与“发生次数”属于不同变量类型:前者可做Logistic,后者优先考虑Poisson/负二项。
💻 R 最短复现片段
set.seed(104)
dat <- data.frame(
cough_yes = rbinom(120,1,.35),
cough_n = rpois(120, lambda=2.4),
drug = rbinom(120,1,.5)
)
fit <- glm(cough_yes ~ drug, family=binomial, data=dat)
summary(fit)
exp(cbind(OR = coef(fit), confint.default(fit)))
📌 R结果解释标准模板
- • 数据概况:结局 cough_yes 为二分类,适合 Logistic 回归。
- • 核心结果:报告 drug 的 OR、95%CI、P 值。
- • 解释句式:'drug 与咳嗽发生风险相关/无显著相关(OR=...,95%CI ...)。'
🛠️ 常见报错排查(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 最短复现片段
分析 > 回归 > 二项Logistic(因变量=是否咳嗽)。
LOGISTIC REGRESSION VARIABLES cough_yes
/METHOD=ENTER drug
/CRITERIA=PIN(.05) POUT(.10).
🧾 论文/汇报可直接套用
方法学句:'根据结局变量的数据属性(计数型),本研究采用负二项回归估计组间差异,并报告发生率比及95%CI。'
⚠️ 本章高发误区
- • 把计数变量当分类变量分析。
- • 把有序变量当无序变量编码。
- • 连续变量随意二分且无依据。
- • 汇总指标与变量类型不匹配。
✅ 本章实操清单
- • 先建变量字典并标注数据类型。
- • 按变量类型确定描述与检验策略。
- • 说明编码规则与参考组设置。
- • 做一次类型敏感性分析验证稳健性。
📝 课后思考题
- • 你的主要结局变量,是否与所用模型族匹配?
- • 是否存在“为了显著而二分连续变量”的风险?
- • 编码规则在数据清洗与建模阶段是否一致?