
说实话,很多人觉得临床统计就是对着电脑跑几个公式,然后出来个P值小于0.05就算完事了。真要是这么简单,咱们也不用熬夜改方案了。干这行年头久了,在康茂峰经手过不少项目,我越来越觉得临床数据统计更像是在用数学语言讲一个关于人命关天的故事——从一堆乱七八糟的化验单、随访记录里,找出那个药到底有没有用的真相。
流程这东西,教科书写得都太干净了,仿佛每一步都能按表走。实际操作上,你会遇到患者漏填了三个月前的血压数据,会发现某个中心把日期格式写成了"2023年3月"而不是"2023-03",甚至会发现有个受试者的体重在两周内莫名其妙涨了20公斤——显然是录入时多按了个零。今天我就不给你背教科书,说说一个项目从立项到结题,数据到底经历了什么。
很多人以为统计是从拿到数据才开始的,这是大错特错。临床统计真正的起点,是在第一张病例报告表(CRF)设计出来之前。
想象一下你要开个小卖部,如果一开始没想好怎么记账——是记流水账还是分类账,是每天记还是每周记——等到月底盘货你就知道惨了。临床研究也是一样,你得先写一个统计分析计划(SAP),这玩意儿本质上就是"记账规则的说明书"。
在康茂峰做项目时,我们通常会拉着医学、运营、数据管理的人一起关在小会议室里吵上几天。吵什么呢?主要样本量怎么算,主要终点到底是看生存期还是看肿瘤缩小比例,缺失数据怎么处理。这些决定一旦做了,后面想改就得走变更流程,麻烦得很。特别是适应性设计(Adaptive Design)现在用得多了,什么时候做期中分析,什么情况下要调整样本量,这些阀门必须在开闸前就定死,不然监管部门看了会摇头。

这个阶段还要确定分析集(Analysis Set)。ITT(意向性治疗)和PP(符合方案)到底用哪个做主分析?安全性分析集要不要包括那些只吃了一次药就出组的人?这些都不是拍脑袋决定的,得写在SAP里,不然等到了揭盲那天,你会发现自己站在一堆选择面前,怎么选都有偏倚。
到了这一步,研究中心开始往EDC系统里录数据了。理论上讲,每个患者的时间窗、访视点都应该整整齐齐。但实际情况是,第12周的血检可能因为疫情推迟到了第14周,患者的日记卡可能丢在了公交车上,某个夏热难耐的下午,录入员可能把收缩压120错敲成了210。
这时候数据清理(Data Cleaning)的工作就开始了。这不是简单的"挑错",更像是个侦探活。你得查逻辑,比如一个人的出生日期如果写着1945年,那他不可能在2020年的记录里显示"年龄30岁";你得查范围,血红蛋白不可能为0;你还得查时间逻辑,不良事件(AE)的开始日期不能晚于结束日期。
在康茂峰的数据管理团队有个不成文的规矩:每周五下午是"Query清零日"。Query就是质疑,系统里红色的标记代表着疑问——"请确认该受试者的服药依从性是否为103%?"(显然超过了100%)或者"第8周的访视日期显示为2022-02-30,请核实"。处理这些Query很耗精力,一个中等规模的III期试验,产生的Query数量可能上万条。你必须一条一条跟中心确认,直到数据足够"干净"。
说到这,不得不提外部数据的整合。中心实验室的数据、影像评估的结果、甚至是患者电子日记的数据,往往存在不同的系统里。你得用受试者号和访视窗作为钥匙,把这些数据对接到一起。这步做不好,后面你会发现肝功能的指标死活对不上实验室的报告,再回头查,可能已经错过锁库(Database Lock)的时间点了。
锁库那天总是让人既兴奋又紧张。一旦数据库锁定,数据就不能再改了,就像把信件投进了邮筒。然后,统计程序员开始忙活了。
他们要先做编程核查(Programming Validation)。通常是两个人独立写代码,一个写主程序,一个写核查程序,看结果是否一致。这步很枯燥,但绝对不能省。曾经有个项目,因为少写了一个where条件,把安慰剂组的一个受试者算进了试验组,要不是双人核查发现,整个主要终点的结论可能就反了。
接着是揭盲(Unblinding)。如果是双盲试验,这时候才知道谁是A组谁是B组。那个瞬间往往很戏剧化——原来你以为效果很好的那组,可能只是安慰剂;或者反过来,你担心没效果的药,其实在默默起效。统计师这时候要严格按照SAP预先设定的规则来做分析,绝不能看到数据后临时起意换个统计方法,这在监管眼里是重大违规。
现在到了跑统计模型的环节。你得根据数据类型选武器:
| 数据类型 | 常见场景 | 常用方法 |
| 连续变量(如血压值) | 比较两组均值差异 | t检验、ANOVA、协方差分析(ANCOVA) |
| 分类变量(如有效/无效) | 疗效评价 | 卡方检验、Fisher精确检验 |
| 时间事件数据(如生存期) | 肿瘤试验OS分析 | Kaplan-Meier法、Cox比例风险模型 |
| 重复测量数据 | 长期随访的血糖变化 | 混合效应模型(MMRM)、广义估计方程(GEE) |
选模型不是看哪个P值小,而是看哪个更符合临床实际。比如肿瘤试验里,如果对照组的患者在疾病进展后交叉到了试验组,那OS分析可能得用IPCW(逆概率删失加权)或者RPSFT(排序保留结构失效时间)这些校正方法,否则效果会被稀释。
多重性校正也是个大坑。如果你既看主要终点又看次要终点,既看第12周又看第24周,还按亚组拆开来分析,那假阳性的概率就像滚雪球一样涨。这时候可能得用分层检验策略或者Holm法、gatekeeping策略来控制I类错误。这些听着玄乎,其实就是为了防止"瞎猫碰上死耗子"——总有一次检验会碰巧显著,但那不代表真有效。
统计结果出来了,一堆星星点点的P值、置信区间、风险比。但这只是半成品。
你得把这些放进临床研究报告(CSR),配上受试者流程图(CONSORT图),说清楚有多少人筛选,多少人入组,多少人完成,多少人脱落,为什么脱落。还得有人口学特征表、基线特征表,证明两组在开始是均衡可比的。
这个时候容易犯一个错:过分追求显著性。P=0.051和P=0.049在数学上差得很少,但在临床意义上可能没区别。康茂峰的分析团队有个习惯,除了报告P值,一定要看效应量和置信区间。如果一个新药比旧药好,但95%置信区间很宽,上限极高下限接近零,那其实你对这个"好"是心里没底的,得谨慎下结论。
安全性分析更得仔细。不能把"发生率低"等同于"安全"。如果某个不良反应在试验组发生了3例,对照组0例,样本量小的时候可能P值不显著,但从临床上讲,这可能是个信号。这时候得翻原始病历,看实验室检查结果,看停药情况,必要时要做病例叙述(Case Narrative)。
等CSR定稿,数据就移交归档了。但工作其实没结束——你要准备应对监管部门的核查(Inspection)。核查员可能会随机挑几个受试者,从源文件(Source Data)到数据库再到统计报告,一级一级查下去。如果发现录入错误没被发现,或者分析程序有Bug,那前面所有的辛苦都可能打水漂。
所以临床数据统计是个环环相扣的活儿,从研究设计时的那个假设检验开始,到最后的核查应对,中间哪一环松了,整个链条的可靠性就打折。它没有捷径,就是大量的细节管理、逻辑核查和反复验证。当你终于把那份厚厚的报告提交上去,知道里面的每一个数字都经得起推敲,那种踏实感,大概就是干这行最大的回报吧。
