Chapter 11 样本量与功效分析
本章介绍 MSTATA 中已经上线的样本量与功效分析模块。样本量计算不是拿到数据以后才做的统计检验,而是研究开始以前的一项设计工作:在真正招募受试者之前,先估计“至少需要多少人,才有足够把握回答这个临床问题”。
11.0.1 先从一个医学研究问题讲起
假设心内科准备做一项随机对照研究:成人高血压患者随机分为两组,一组使用“新降压方案”,另一组使用“标准治疗”。12 周后,每位患者测一次收缩压(SBP, mmHg)。课题组真正想知道的是:新方案治疗后的平均 SBP 是否比标准治疗低到一个有临床意义的程度?
这时不能先打开软件随便试数字。样本量估算的第一步,是把临床问题说清楚:研究对象是谁,比较哪两种处理,主要终点是什么,治疗结束后准备测量什么指标。如果这些问题还没有定,软件算出的样本量只是一个数字,不能写进方案。
对这个降压研究,研究者需要先准备五类信息:
- 目标差值
delta:课题组希望有把握检出的最小临床重要差异。例如,专家讨论后认为两组治疗后平均 SBP 差 5 mmHg 已经值得检出,就可以把delta设为 5。 - 标准差
sigma:同类患者的 SBP 会有多大波动。这个数通常来自既往文献、预试验或同类研究的mean ± SD。 - 显著性水平
alpha:研究愿意承担多大的 I 类错误风险。医学研究常用双侧alpha = 0.05。 - 目标检验效能
power:如果真实差异确实存在,研究希望有多大把握发现它。常用 80% 或 90%。 - 脱落率:随访、问卷、检查或入组过程中可能有多少受试者无法提供完整主要终点数据。
把这些信息放在一起,才形成一个可以计算的设计:两组平行随机对照,主要终点为治疗 12 周后的 SBP,双侧检验,alpha = 0.05,power = 0.80,delta = 5,sigma = 10,1:1 分组,预计脱落率 10%。在这个设定下,软件会得到每组 63 例、总样本量 126 例;考虑 10% 脱落率后,实际每组入组 70 例,总入组 140 例。
11.0.2 样本量背后的直觉
样本量的大小,主要由“信号”和“噪声”决定。delta 可以理解为研究希望看见的信号,sigma 是患者之间天然存在的噪声。信号越大,越容易看出来,所需样本量越少;噪声越大,同样的差异就越容易被个体差异淹没,所需样本量越多。
因此,样本量估算中最值得认真斟酌的通常不是公式,而是 delta 和 sigma。delta 不应只是文献中刚好观察到的差异,更应是临床上值得检出的差异;sigma 也不应从最乐观的一篇文献中随意取最小值。若多篇文献给出的 SD 分别为 8、10、12,正式方案中可以主分析取 10 或 12,并在敏感性分析中同时测试 8、10、12。
alpha 和 power 反映的是研究者对证据强度的要求。要求越严格,样本量通常越大。脱落率则把“统计学上需要完成随访的人数”转换为“实际需要入组的人数”。例如统计学上每组需要 63 例,如果预计 10% 无法完成主要终点测量,就不能只招 63 例,而应向上调整到每组约 70 例。
11.0.3 参数从文献中怎么找
读文献时,不是看到一个均值差就直接拿来填。建议先找和自己研究最像的文献:同疾病、同人群、同干预、同对照、同主要终点、同测量时间点、同研究设计。以上面的降压研究为例,最理想的文献是成人高血压患者、两组平行、随访约 12 周、主要终点为治疗后 SBP 的临床试验。
连续变量最常见的报告方式是 mean ± SD,这里的 SD 可以作为 sigma 的候选值。如果论文写的是 mean ± SEM,需要先换算为 SD = SEM × sqrt(n);如果只给 95% CI,也要先换算出 SE,再换算 SD。若只有中位数和四分位数,可用 Wan et al. 等方法近似估计,但在方案中应说明这是近似。
最后,把不确定的参数放入敏感性分析。正式方案不宜只报告一个孤立样本量数字。比如同时考察 power = 0.80 0.90、delta = 3 5 7、sigma = 8 10 12,可以帮助研究者判断:在保守假设下研究是否仍然可行。
11.0.4 到这里才打开软件
当研究设计和参数来源已经明确后,再选择对应模块:
- 只有一个研究人群,要和固定参考值、历史均值或常模比较,用“单样本均值比较”。
- 两个互相独立的人群或治疗组,例如治疗组 vs 对照组,用“两独立样本均值比较”。
- 如果研究问题是同一对象两次观察值或天然成对观察值的“差值均数”是否达到预设目标,例如单组治疗前后自身比较、左右侧器官比较或一对一匹配研究,用“配对样本均值比较”。此时软件中的样本量单位是“对”。
目前样本量模块统一采用类似界面:使用说明、样本量与功效分析、敏感性分析和下载 Word 文档。主计算页面只放当前参数组合的计算过程和结果;多参数组合比较放在右侧单独的“敏感性分析”标签页;Word 标签页用于导出可直接整理进论文 Methods 的样本量计算报告。
11.1 单样本均值比较
11.1.1 适用范围与基本概念
单样本均值比较适用于一个样本均数与某一已知总体均数或规定目标值进行比较的研究设计。这里的“已知值”可以是量表常模、指南推荐目标、历史对照均值,也可以是预先规定的临床目标值。研究对象只有一个样本,主要观察指标为计量资料,研究目的在于判断该样本所代表总体的平均水平是否不同于参考值。
在研究设计阶段估算样本量(样本含量)时,应先明确研究目的、主要观察指标、参考均值、预期可检出的均数差、个体间变异程度、检验水准和检验效能。样本量过小,可能使实际存在且具有临床意义的差异未能被发现;样本量过大,则会增加研究成本,也可能使临床意义很小的差异表现为统计学显著。因此,样本量估算的目的不是追求一个“越小越好”的数字,而是在科学性和可行性之间取得合理平衡。
11.1.2 研究实例:疲乏评分与常模比较
假设风湿免疫科拟开展一项门诊研究,评价某慢性疾病患者的疲乏程度。患者填写疲乏量表,分数越高表示疲乏越重。量表手册显示普通人群常模均值约为 20 分。研究者希望回答的问题是:该疾病门诊患者的平均疲乏评分是否高于普通人群常模?
本研究只有一个患者样本,没有治疗组和对照组,也不是同一患者治疗前后的比较。因此,应按单样本均值比较进行样本量估算。已知参考均值为:
\[ \mu_0 = 20 \]
课题组与临床专家讨论后认为,若门诊患者平均疲乏评分较常模至少高 2 分,即可认为该差异具有临床解释价值。于是,本研究预期检出的均数差为:
\[ \delta = |\mu - \mu_0| = 2 \]
样本量估算还需要了解观察值的离散程度,即标准差 sigma。研究者查阅同类慢性疾病患者的量表研究,发现疲乏评分的 SD 多在 4 到 6 分之间。为避免过于乐观地低估样本量,本例取:
\[ \sigma = 5 \]
本例采用双侧检验,检验水准 alpha = 0.05,目标检验效能 80%,并预计约 10% 问卷无效、漏填或患者失访。
11.1.3 样本量估算所需参数
单样本均值比较的样本量估算,实质上是回答:在预定检验水准和把握度下,为了发现样本均数与参考均数之间某个具有临床意义的差异,至少需要观察多少例研究对象。正式写方案时,可按下列顺序准备参数:
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 研究对象 | 某慢性疾病门诊患者 | 由研究方案定义 |
| 参考值 \(\mu_0\) | 20 分 | 来自量表手册或常模研究 |
目标差值 delta |
2 分 | 临床上认为至少 2 分才值得检出 |
标准差 sigma |
5 分 | 从同类文献的 mean ± SD 或预试验获得 |
| 检验方向 | 双侧 | 不预设只会升高或只会降低时用双侧 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 来自问卷无效率、失访率或经验估计 |
用上述参数计算,传统正态近似法得到统计学上需要完成约 50 例有效问卷。若考虑 10% 无效或失访,实际应计划入组约 56 例。需要强调的是,样本量估算属于研究设计阶段的工作,delta 和 sigma 应来自常模资料、既往文献、专家共识或预试验,而不是来自正式研究完成后的数据库。
11.1.4 操作步骤
进入“样本量与功效分析”后,点击“单样本均值”卡片。模块顶部有三个标签页:
- “使用说明”:阅读模块说明。
- “样本量与功效分析”:进行主计算。
- “敏感性分析”:输入多组参数,批量比较样本量变化。
在主计算页面依次完成以下设置:
- 选择“计算方法”。默认是传统正态近似法。
- 选择“求解目标”:求样本量、求检验效能或求可检测差值。
- 选择假设类型:不等式、非劣效、优效性或等效性检验。
- 输入
alpha、power、delta、sigma和脱落率。 - 点击“计算主要结果”。
按照前面的疲乏评分例子,主计算页可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 传统正态近似法(R 包:TrialSize) |
| 求解目标 | 求样本量 |
| 假设类型 | 不等式检验 |
| 检验方向 | 双侧检验 |
alpha |
0.05 |
power |
0.80 |
均值差 delta |
2 |
标准差 sigma |
5 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标、假设类型和主要参数都在这里完成。下图展示的是单样本均值比较的示例设置;实际使用时,应把前文医学研究例子中确定的参考差值、标准差、检验水准、检验效能和脱落率填入相应输入框。
11.1.5 计算方法
本模块提供两种计算方法。
传统正态近似法(R 包:TrialSize)
这是传统医学统计教材中最常用的 Z 近似公式。对于不等式检验,基本形式为:
\[ n = \frac{(Z_{\alpha/2} + Z_{\beta})^2 \sigma^2}{\delta^2} \]
其中 delta 是单组均值与参考值之间的差异,sigma 是标准差。非劣效、优效性和等效性检验会先根据界值计算有效差值,再进入同一类正态近似公式。
这种方法的优点是公式清楚、便于复现,适合国内开题报告、基金标书、伦理审查材料,以及需要在论文 Methods 中保留公式的场景。局限是它属于大样本正态近似;当样本量较小或希望严格按照 t 检验自由度迭代时,结果可能与 t 检验功效函数略有差异。
Cohen’s d 法(t 检验,R 包:pwr)
pwr 包的 pwr.t.test 说明书将该函数描述为 “Power calculations for t-tests of means (one sample, two samples and paired samples)”。它使用 Cohen’s d 作为效应量:
\[ d = \frac{\delta}{\sigma} \]
然后调用 t 检验功效函数进行计算。当需要反求未知参数时,pwr 使用 uniroot 求解 power equation。因此,这个方法不适合在说明书里逐步复现为一个封闭形式公式,软件只展示 R 包计算法。
如果是药企标准注册临床试验、统计师指定方案、审稿人要求按 Cohen’s d / pwr / t test power calculation 报告,建议切换到 Cohen’s d 法。正式报告时应固定一种方法,不要在正文中混用两种结果。
11.1.6 结果解释
主结果区会显示以下内容:
- 输入参数汇总:便于核对
alpha、power、delta、sigma、脱落率和假设类型。 - 数值结果:样本量、实际 power,或反求得到的 power / delta。
- 脱落率调整:把统计学所需完成例数换算为实际入组例数。
- R 代码和 R 原始输出:便于复现。
- 论文描述:中英文 Methods 段落,可直接作为初稿使用。
- Power 曲线图:展示样本量与检验效能的关系。
点击“计算主要结果”后,再看右侧主面板。右侧会按所选方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。读者在核对结果时,首先看“公式法结论”或“数值结果”中的统计学完成例数;如果设置了脱落率,还会同时给出实际应入组人数。
11.1.7 论文描述写法
如果选择传统正态近似法,正文描述应强调“传统教科书正态近似公式”,不需要在论文正文中提及 R 包名称。例如:
采用单样本均值检验的传统教科书正态近似样本量公式(Chow et al. 2003)进行估算。设定双侧检验,I 类错误率 alpha = 0.05,目标检验效能 80%,均值差 delta = 2,标准差 sigma = 5,计算得所需样本量 n = 50 例。考虑 10% 的脱落率,实际需入组 56 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
如果选择 R 包计算法,则需要写明使用的 R 包和函数。例如:
Sample size was calculated using the R package pwr (version 1.3-0; pwr.t.test, Cohen’s d effect size for t-tests of means; Cohen 1988). Assuming a one-sample t-test with two-sided significance level alpha = 0.05, Cohen’s d = 0.5, and a target power of 80%, the required sample size was estimated. A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.1.8 敏感性分析
点击右侧“敏感性分析”标签页,可以同时输入多个 power、delta、sigma 和 alpha 值。软件会生成所有参数组合的样本量对比表。
敏感性分析适合处理参数不确定性。例如,既往文献报告的标准差可能在 8 到 12 之间,临床意义差值可能是 3、5 或 7。把这些可能值全部放入敏感性分析,可以看到样本量对关键参数的敏感程度。
计算后,右侧敏感性分析结果区会生成一张参数组合表。每一行代表一个 power × delta × sigma × alpha 组合;样本量列越大,说明该参数假设对研究规模要求越高。正式方案中通常可报告主分析采用的一组参数,并在补充说明或方案讨论中引用敏感性分析范围。
11.2 两独立样本均值比较
11.2.1 先判断是不是这个模块
两独立样本均值比较,用于“两组互不重叠的研究对象,比较一个连续性主要结局的平均值”。医学研究中常见的例子包括:治疗组与对照组治疗后血压比较、两种手术方式术后疼痛评分比较、两种康复方案治疗后量表评分比较等。它们的共同点是:每名受试者只属于一个组,主要终点是连续变量,最终比较的是两组均值。
估算样本量前,先问一个很朴素的问题:最终拿来比较的那个数,是两组人各自的一个结局值,还是同一个人内部的一对差值? 如果两组随机对照研究中每名患者都有基线和随访测量,也常常会先计算每名患者的变化值,再比较两组变化值的均值差;这种情况下,分析单位仍然是两组独立患者,通常仍按本模块处理。只有当研究问题本身是“同一组对象前后差值的平均值是否不同于 0 或某个界值”,或左右眼、左右肢体等天然成对资料的差值均值是否达到预设界值时,才应使用配对样本均值比较。
最容易混淆的三种情景如下:
| 情景 | 医学研究例子 | 最终拿来比较的量 | 应使用的模块 |
|---|---|---|---|
| 两组治疗后各测一次结局 | 新降压方案与标准治疗比较,治疗 12 周后各测一次 SBP | 新方案组治疗后 SBP 均值与标准治疗组治疗后 SBP 均值 | 本模块 |
| 两组都有基线和随访,先计算 change from baseline | 新降糖药与安慰剂比较,基线测 HbA1c,24 周后再次测 HbA1c,主要终点为 HbA1c 较基线的变化值 | 新降糖药组 \(\Delta HbA1c\) 均值与安慰剂组 \(\Delta HbA1c\) 均值;每名患者先得到一个变化值,两组患者仍然相互独立 | 本模块 |
| 一组患者治疗前后自身比较 | 一组慢性疼痛患者接受 4 周康复治疗,治疗前后各测一次 NRS 疼痛评分 | 同一批患者内部的前后差值均值,例如治疗前 NRS 减治疗后 NRS 的平均值 | 不用本模块,应进入“单组配对均值”或“配对样本均值比较”模块 |
前两种情景虽然数据采集方式不同,但样本量计算思路是一样的:最终都要得到“两组相互独立的连续性终点”,再比较两组均值。
第一种情景中,参数直接来自治疗后的主要结局。例如降压研究只在 12 周后测量 SBP,则 \(\delta\) 是研究者希望检出的两组治疗后 SBP 均值差,如 5 mmHg;\(\sigma\) 是同类患者治疗后 SBP 的标准差,可从既往文献、预试验或历史资料中提取。例如文献报告治疗后 SBP 约为 130.2 ± 9.8 mmHg 和 135.4 ± 10.4 mmHg,则可把两组 SD 合并后近似取 \(\sigma \approx 10\) mmHg。
第二种情景中,不能直接把治疗后数值的 SD 当作变化值的 SD。应先定义变化值,例如:
\[ \Delta HbA1c = \text{24 周 HbA1c} - \text{基线 HbA1c} \]
这时 \(\delta\) 是两组平均变化值之间希望检出的差异。例如希望新降糖药比安慰剂多降低 HbA1c 0.5 个百分点,则可设 \(\delta = 0.5\)。\(\sigma\) 则应尽量使用“变化值”的标准差,而不是基线 SD 或随访 SD。若既往文献报告新降糖药组 \(\Delta HbA1c=-1.1\pm1.2\),安慰剂组 \(\Delta HbA1c=-0.6\pm1.1\),则两组变化值均值差约为 0.5,变化值的合并 SD 约为 1.15,可作为本模块中的 \(\delta\) 和 \(\sigma\) 输入。
第三种情景只有一组对象,研究问题是“同一批患者治疗前后平均改变了多少”。这时每名患者的前后测量天然配对,样本量计算需要的是差值均值和差值标准差,不能用两独立样本均值比较。应返回样本量计算主页面,选择“单组配对均值(连续性结局,前后自身比较)”或“配对样本均值比较”模块。
11.2.2 研究例子:新降压方案随机对照试验
假设研究者准备开展一项两组平行随机对照试验,纳入成人高血压患者。受试者随机接受“新降压方案”或“标准治疗”,治疗 12 周后测量一次收缩压(SBP, mmHg)。研究者真正关心的是:新方案治疗 12 周后的平均 SBP 是否比标准治疗低,并且这个差异是否达到临床上值得重视的程度。
这个问题可以写成:
- P(研究对象):成人高血压患者。
- I(干预):新降压方案。
- C(对照):标准治疗。
- O(主要终点):治疗 12 周后的 SBP,单位 mmHg。
本例只在治疗结束时检查一次主要结局,因此教学上比较直观:每名患者贡献一个 SBP 值,两组患者彼此独立,最后比较两组平均值。
11.2.3 第一步:确定临床上值得检出的差异
样本量计算不是先打开软件试数字,而是先把临床问题说清楚。对于两独立样本均值比较,最关键的参数是两组均值差 \(\delta\)。它表示研究者希望本研究有足够把握检出的差异,而不是研究结束后“碰巧观察到”的差异。
假设课题组认为,如果新方案能使治疗 12 周后的平均 SBP 比标准治疗低约 5 mmHg,就具有临床意义,值得在随机对照试验中检验。于是本例设定:
\[ \delta = 5\ \text{mmHg} \]
这个数值可以来自指南、专家共识、预试验或同类文献。例如某项短期降压研究报告,治疗 12 周后新方案组 SBP 为 130.2 ± 9.8 mmHg,标准治疗组为 135.4 ± 10.4 mmHg,两组均值相差:
\[ 135.4 - 130.2 = 5.2\ \text{mmHg} \]
这可以支持把 \(\delta\) 设为 5 mmHg。实际写方案时,不宜机械照搬某篇文献的观察差异,而应说明该差异为什么具有临床意义。
11.2.4 第二步:估计观察指标的标准差
标准差 \(\sigma\) 描述同类患者之间 SBP 的波动。对于同样的均值差,患者之间波动越大,越不容易看出两组差异,所需样本量也越多;波动越小,所需样本量越少。
本例主要终点是治疗 12 周后的 SBP,因此应优先查找同类高血压研究在相近时间点报告的治疗后 SBP 标准差。若文献以 mean ± SD 报告结果,可以直接提取 SD。假设综合文献和预试验后,认为:
\[ \sigma = 10\ \text{mmHg} \]
如果文献分别给出两组 SD,也可以用合并 SD 近似共同标准差。例如两组 SD 分别为 9.8 和 10.4:
\[ \sigma_{\text{pooled}} \approx \sqrt{\frac{9.8^2+10.4^2}{2}} = 10.1\ \text{mmHg} \]
因此取 \(\sigma = 10\) 既便于解释,也接近文献估计。若多篇文献报告的 SD 分别为 8、10、12,正式方案中建议在敏感性分析中同时考察这些取值,而不是只选最小的一个。
11.2.5 第三步:设定错误风险、分组比例和脱落率
\(\alpha\) 是 I 类错误率,表示真实无差异时误认为有差异的概率。医学研究常用双侧 \(\alpha = 0.05\)。检验效能 \(1-\beta\),也常写作 power,表示当真实差异达到预设水平时,研究能够检出该差异的概率。常用取值为 80% 或 90%。
本例采用双侧检验,\(\alpha = 0.05\),目标检验效能 80%,两组 1:1 分配,因此分组比例 \(k=N_2/N_1=1\)。考虑 12 周随访中可能存在失访、未完成主要终点测量或数据无效,预估脱落率为 10%。
到这里,研究设计已经转化为一组可计算的参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 主要终点 | 治疗 12 周后的 SBP | 连续性结局 |
| \(\delta\) | 5 | 希望检出的两组均值差 |
| \(\sigma\) | 10 | 同类患者治疗后 SBP 的标准差 |
| \(\alpha\) | 0.05 | 双侧 I 类错误率 |
| power | 0.80 | 目标检验效能 |
| \(k=N_2/N_1\) | 1 | 两组 1:1 分配 |
| 脱落率 | 0.10 | 预计 10% 无法纳入主要分析 |
11.2.6 软件界面怎样填写
进入“样本量计算软件”后,在单组/多组均值比较相关卡片中选择“两组独立样本均值比较(连续性结局)”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量、功效或可检测差值计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
在“样本量与功效分析”中,左侧依次填写四类信息:
- “计算方法”:选择传统正态近似法,或 Cohen’s d 法。
- “求解目标”:选择求样本量、求检验效能(Power)或求可检测差值。
- “主要样本量计算”:选择假设类型、检验方向和标准差假设。
- “参数设置”:输入 \(\alpha\)、power、分组比例 \(k\)、均值差 \(\delta\)、标准差 \(\sigma\) 以及脱落率。
按照前面的降压研究例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 传统正态近似法(R 包:TrialSize) |
| 求解目标 | 求样本量 |
| 假设类型 | 不等式检验 |
| 检验方向 | 双侧检验 |
| 标准差假设 | 等标准差(两组 \(\sigma\) 相同) |
| \(\alpha\) | 0.05 |
| power | 0.80 |
| \(k=N_2/N_1\) | 1 |
| \(\delta=|\mu_1-\mu_2|\) | 5 |
| \(\sigma\) | 10 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标、主要样本量计算设置和参数设置都在这里完成。这里不是比较哪个按钮更高级,而是决定本次研究报告采用哪一种计算路径。下图展示的是本例降压研究的示例设置;实际使用时,应把自己研究中确定的 \(\delta\)、\(\sigma\)、\(\alpha\)、power、分组比例和脱落率填入相应输入框。
各面板标题旁的问号会打开说明弹窗。现在的“参数设置”采用一个统一弹窗:先逐一解释 \(\alpha\)、power、\(k\)、\(\delta\)、\(\sigma\)、脱落率等参数,再用上述降压研究例子说明这些参数如何从研究设计和文献资料中得到。
11.2.7 两种计算方法怎样理解
传统正态近似法(R 包:TrialSize)
传统正态近似法本质上是两独立样本均值比较的 Z 检验近似公式。对于等标准差、两组独立样本、不等式检验,常用教科书公式为:
\[ N_1=\frac{(Z_{\alpha/2}+Z_{\beta})^2\sigma^2(k+1)}{k\delta^2} \]
其中 \(N_1\) 为组 1 样本量,\(N_2=kN_1\)。当 \(k=1\) 时,两组等样本量,公式可写为每组:
\[ n_{\text{每组}}=\frac{(Z_{\alpha/2}+Z_{\beta})^2\times 2\sigma^2}{\delta^2} \]
本例中 \(Z_{\alpha/2}=1.9600\),\(Z_{\beta}=0.8416\),\(\sigma=10\),\(\delta=5\),代入后:
\[ n_{\text{每组}}=\frac{(1.9600+0.8416)^2\times 2\times 10^2}{5^2}=62.79\approx 63 \]
因此,完成主要终点分析需要每组 63 例,总样本量 126 例;考虑 10% 脱落率,实际入组为第 1 组 70 例、第 2 组 70 例,总入组 140 例。
点击“计算主要结果”后,再看右侧主面板。右侧会先显示本次计算采用的参数和主要结果,随后按“方法一:公式计算法”“方法二:R 软件包计算”分层展示公式代入、数值结果、R 代码、R 原始输出、论文描述和参考文献。Power 曲线用于检查当前样本量附近的功效变化;如果曲线在目标 power 附近很陡,说明样本量对参数或取整比较敏感,应重点查看敏感性分析。
Cohen’s d 法(t 检验,R 包:pwr)
Cohen’s d 法先把原始单位下的均值差标准化:
\[ d=\frac{\delta}{\sigma} \]
例如本例中 \(\delta=5\)、\(\sigma=10\),因此 \(d=0.5\)。软件随后使用 R 软件 pwr 包进行 t 检验样本量计算:等样本量时调用 pwr.t.test(type = "two.sample"),不等样本量时调用 pwr.t2n.test。pwr 对样本量或功效的未知量进行数值求解,因此这个选项不显示手工样本量公式,只显示 R 包计算结果、R 代码和 R 原始输出。
11.2.8 什么时候选哪一种
如果需要在国内开题报告、基金标书、伦理材料或论文 Methods 中清楚展示公式,推荐使用传统正态近似法。此时论文正文可以直接写公式和文献来源,不必强调软件内部用哪个 R 包复现。
如果研究方案、统计分析计划、药企注册临床试验文件、统计师意见或既往文献明确采用 Cohen’s d、pwr 或 t test power calculation,则可以切换为 Cohen’s d 法。该方法的报告重点是说明使用了 R 软件 pwr 包及相应函数,并报告 Cohen’s d、\(\alpha\)、power、分组比例和计算结果。
两种方法得到的样本量通常接近,但不一定完全相同。正式报告时应固定一种主要方法,并用敏感性分析说明关键参数改变时样本量如何变化。
11.2.9 论文描述怎样写
软件会在结果区生成中英文论文描述。公式法和 R 包法的写法不同。
公式法示例:
The sample size was estimated using the textbook normal approximation formula for a two-sample test (Chow et al. 2003): \(N_1=(Z_{\alpha/2}+Z_{\beta})^2\sigma^2(k+1)/(k\delta^2)\), with \(Z_{\alpha/2}=1.9600\) (\(\alpha=0.05\), two-sided), \(Z_{\beta}=0.8416\) (power = 80%), \(\sigma=10\), \(\delta=5\), and allocation ratio \(k=1\). \(N_1=63\), \(N_2=63\) (total \(N=126\)). Assuming a dropout rate of 10%, 70 and 70 subjects in groups 1 and 2 should be enrolled (total 140).
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用两独立样本检验的传统教科书正态近似样本量公式(Chow et al. 2003)\(N_1=(Z_{\alpha/2}+Z_{\beta})^2\sigma^2(k+1)/(k\delta^2)\) 进行估算。其中 \(Z_{\alpha/2}=1.9600\)(\(\alpha=0.05\),双侧检验),\(Z_{\beta}=0.8416\)(检验效能 = 80%),\(\sigma=10\),\(\delta=5\),分组比例 \(k=1\)。计算得 \(N_1=63\),\(N_2=63\),总样本量 \(N=126\)。考虑 10% 的脱落率,实际入组第 1 组 70 例、第 2 组 70 例,总入组 140 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size was calculated using the R package pwr (version 1.3-0; pwr.t.test, Cohen’s d effect size for t-tests of means; Cohen 1988). Assuming a two-sample test with two-sided significance level \(\alpha=0.05\), Cohen’s \(d=0.5\) (mean difference \(\delta=5\) and standard deviation \(\sigma=10\)), allocation ratio \(k=1\), and a target power of 80%, the required sample size was 64 subjects per group (total \(N=128\)). Assuming a dropout rate of 10%, 72 subjects per group (total \(N=144\)) should be enrolled.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.2.10 敏感性分析怎么做
当 \(\delta\) 或 \(\sigma\) 来自文献估计时,正式方案中建议进行敏感性分析。点击“敏感性分析”标签页,可以一次输入多个参数值,软件会生成所有组合的样本量表。
例如:
- power:
0.80 0.90 - \(\delta\):
3 5 7 - \(\sigma\):
8 10 12 - \(\alpha\):
0.05
若在 \(\delta=3\) 且 \(\sigma=12\) 时样本量远超研究可承受范围,说明研究规模对目标差异和标准差假设非常敏感,需要重新讨论主要终点、临床意义界值和实施可行性。
11.2.11 Word 报告下载
“下载word文档(论文中的样本量计算部分)”是单独的标签页。完成主要计算后,点击该标签页中的下载按钮,可以导出 Word 报告。报告按公式法、R 包法和敏感性分析分层整理;如果当前结果包含 R 包计算,报告末尾会另起一页附录,保留 R 代码和 R 原始输出。主计算结果表格也会放入附录,正文部分则尽量保留可直接写入论文 Methods 的段落。
如果需要把敏感性分析表格也放入 Word 报告,请先到“敏感性分析”标签页生成敏感性分析结果,再回到 Word 下载标签页导出。
11.2.12 常见问题
Q:传统正态近似法选项后面写了 TrialSize,为什么公式法论文描述里不写 R 包?
A:公式法的核心是教科书公式和文献来源。软件同时给出 TrialSize 复现代码,是为了便于核对计算;若论文正文选择报告“公式法”,通常写公式和参考文献即可。只有报告“R 软件包计算法”时,才需要写明 R 包和函数。
Q:公式法和 pwr 法差 1 到 2 例,哪个才对?
A:两者都可能合理。传统方法使用正态近似/Z 检验公式,pwr 法使用 t 检验功效函数和 Cohen’s d 效应量体系,并且二者都涉及向上取整。正式报告时固定一种方法,并在敏感性分析中说明关键参数变化即可。
Q:基线和 12 周都测了 SBP,还能用这个模块吗?
A:如果研究最终比较的是两组患者“变化值”的均值差,例如每名患者先算 12 周 SBP - 基线 SBP,再比较治疗组和对照组的变化值均值,分析单位仍是两组独立患者,通常仍用本模块。若研究目标是同一组患者前后差值均值是否偏离 0,则使用配对样本均值比较。
11.3 配对样本均值比较
11.3.1 适用范围与基本概念
配对样本均值比较适用于两个观察值之间存在自然配对关系、且研究问题是“每一对观察值的差值均数是否偏离 0 或某个预设界值”的计量资料。常见情形包括单组受试者治疗前后自身比较、同一受试者左右侧器官或肢体测量、同一对象接受两种检测方法后的结果比较,以及按某些特征匹配形成的一对一研究对象。这里的关键不是“是否测了两次”,而是最终要不要分析每一对内部的差值均数。若研究为两组随机对照设计,并把每名患者的基线变化值作为终点在两组间比较,则通常应按两独立样本均值比较处理,而不是按本模块处理。
配对设计的统计分析单位不是两次原始测量值本身,而是每一对观察值的差值。换言之,应先对每名受试者或每一对对象计算差值,再分析差值的平均水平是否不同于 0,或是否达到预先规定的临床界值。因此,配对样本均值比较在形式上可看作对“差值”进行单样本均值检验。
11.3.2 研究实例:康复治疗前后疼痛评分比较
假设康复科拟评价一种 4 周康复治疗对慢性疼痛患者的疗效。每名患者治疗前填写一次 NRS 疼痛评分,4 周后再次填写。研究者关心的是同一批患者治疗后的疼痛评分是否较治疗前有所改善,而不是两批不同患者之间的差异。因此,本研究属于配对样本设计。
本例将主要终点定义为每名患者的疼痛评分变化。为便于解释,差值定义为:
\[ D = \text{治疗前 NRS} - \text{治疗后 NRS} \]
按此定义,\(D > 0\) 表示疼痛减轻。课题组与临床专家讨论后认为,若平均改善达到 2 分,即可认为该疗效具有临床意义。因此,本研究预期检出的差值均数为:
\[ \delta_D = 2 \]
样本量估算还需要差值的标准差。应特别注意,这里需要的不是治疗前评分的 SD,也不是治疗后评分的 SD,而是“每名患者前后差值 \(D\)”的 SD。研究者查阅类似康复研究或开展小样本预试验后,认为前后差值的标准差约为 5 分,于是设定:
\[ \sigma_D = 5 \]
本例采用双侧检验,检验水准 alpha = 0.05,目标把握度 80%,并预计约 10% 患者无法完成治疗后随访。
11.3.3 样本量估算所需参数
配对样本均值比较的样本量估算,关键在于明确差值的定义和差值的标准差。若差值方向在方案中未预先规定,后续对结果的解释容易混乱;若将治疗前或治疗后的原始 SD 误填为 sigma_d,则样本量估算可能明显偏离真实需要。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 研究对象 | 慢性疼痛患者 | 由研究方案定义 |
| 配对方式 | 同一患者治疗前后两次测量 | 由研究设计决定 |
| 差值定义 | 治疗前 NRS - 治疗后 NRS | 先在方案中固定方向 |
目标差值 delta_d |
2 分 | 临床上认为平均改善 2 分有意义 |
差值标准差 sigma_d |
5 分 | 来自同类文献的差值 SD 或预试验 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 来自治疗周期和随访经验 |
用上述参数计算,传统正态近似法得到统计学上需要约 50 对完整前后测量。由于本例中每一对测量对应同一名患者,也可理解为需要 50 名患者完成治疗前和治疗后两次评分。若考虑 10% 脱落,实际应计划入组约 56 名患者。
如果文献没有直接报告差值 SD,但报告了治疗前 SD、治疗后 SD 和前后相关系数 r,可用:
\[ \sigma_D = \sqrt{\sigma_{pre}^2 + \sigma_{post}^2 - 2r\sigma_{pre}\sigma_{post}} \]
若连相关系数也无法获得,只能根据同类研究或预试验设定一个合理范围,并在敏感性分析中同时考察多个 sigma_d。Cochrane Handbook 在处理交叉或配对资料时也强调,配对分析需要个体内差值的均值和 SD;缺失时应谨慎借用或假设,并进行敏感性分析。
11.3.4 操作步骤
进入“样本量与功效分析”后,点击“配对样本均值”卡片。主计算页中依次设置:
- 计算方法:传统正态近似法或 Cohen’s d 法。
- 求解目标:求样本量、求检验效能或求可检测差值。
- 假设类型:不等式、非劣效、优效性或等效性检验。
- 输入
alpha、power、差值均值delta_d、差值标准差sigma_d和脱落率。 - 点击“计算主要结果”。
按照前面的疼痛评分例子,主计算页可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 传统正态近似法(R 包:TrialSize) |
| 求解目标 | 求样本量 |
| 假设类型 | 不等式检验 |
| 检验方向 | 双侧检验 |
alpha |
0.05 |
power |
0.80 |
差值均值 delta_d |
2 |
差值标准差 sigma_d |
5 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标、假设类型、检验方向、差值标准差输入方式和主要参数都在这里完成。配对样本均值比较最容易填错的是差值标准差,因此若从 \(\sigma_1\)、\(\sigma_2\)、\(\rho\) 推导 \(\sigma_D\),应先确认文献或预试验中是否能支持这些参数。
11.3.5 计算方法
传统正态近似法(R 包:TrialSize)
配对设计先把每名受试者的两个测量值相减,得到差值 D。随后按单样本均值检验处理:
\[ n = \frac{(Z_{\alpha/2} + Z_{\beta})^2 \sigma_D^2}{\delta_D^2} \]
其中 delta_D 是预期差值均值,sigma_D 是差值的标准差。这个公式透明、便于写入方案或论文,适合需要保留公式的场景。
Cohen’s d 法(t 检验,R 包:pwr)
pwr 法使用配对 t 检验的 Cohen’s d:
\[ d = \frac{\delta_D}{\sigma_D} \]
软件调用 pwr.t.test(type = "paired")。当样本量、效能或效应量之一未知时,pwr 通过数值方法求解。由于这是 R 包内部的 t 检验功效函数,说明书中不展示手工公式,只展示 R 包法结果、代码和论文描述。
11.3.6 结果解释
点击“计算主要结果”后,再看右侧主面板。右侧会显示参数汇总、公式法和 R 软件包计算结果、R 代码、R 原始输出、论文描述和参考文献。配对设计需要特别注意:结果中的 n 表示“配对数”,不是单个观测值数量。例如 n = 50 对 表示需要 50 名受试者完成前后配对测量,或 50 对匹配对象。
11.3.7 文献没有差值 SD 时怎么办
配对设计中最容易填错的是标准差。不要直接填写治疗前或治疗后的标准差;应填写“前后差值”的标准差。参数可来自:
- 既往同类配对研究报告的 change score 标准差。
- 预试验中治疗前后差值的标准差。
- 如果文献只报告治疗前和治疗后的标准差,还需要知道前后测量的相关系数,才能估算差值标准差。
差值标准差计算公式为:
\[ \sigma_D = \sqrt{\sigma_{pre}^2 + \sigma_{post}^2 - 2r\sigma_{pre}\sigma_{post}} \]
其中 r 是治疗前后测量值的相关系数。如果无法确定 r,建议在敏感性分析中同时测试多个可能的 sigma_D。
11.3.8 论文描述写法
公式法示例:
The sample size was estimated using the textbook normal approximation formula for a paired mean test based on within-subject differences (Chow et al. 2003). The calculation used the expected mean difference, the standard deviation of within-subject differences, the prespecified significance level, and the target power. A dropout adjustment was then applied according to the anticipated dropout rate.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size was calculated using the R package pwr (version 1.3-0; pwr.t.test with type = “paired”, Cohen’s d effect size for t-tests of means; Cohen 1988). The effect size was defined as the expected mean paired difference divided by the standard deviation of paired differences. A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.4 多组均值(ANOVA)比较
11.4.1 适用范围与基本概念
多组均值比较用于三组及以上独立人群的连续型结局比较。典型问题是:A、B、C 三种治疗方案治疗后某个连续指标的平均值是否不同。例如三种降压方案治疗 12 周后的收缩压、三个镇痛方案术后 24 小时疼痛评分、三种康复方案治疗后的功能量表分数,都属于这一类。
在样本量设计时,要先想清楚研究的主要假设。如果主要问题是“多组均值总体上是否存在差异”,对应的是单因素方差分析的总体 F 检验;如果研究方案已经明确主要比较是某几组之间的两两差异,则应按计划成对比较来估算,并考虑多重比较校正。两种思路都常见,但论文写法和样本量结果可能不同。
11.4.2 研究实例:三种镇痛方案的术后疼痛评分
假设麻醉科准备开展一项三臂随机研究,比较 A、B、C 三种术后镇痛方案。患者随机分入三组,术后 24 小时记录一次疼痛数字评分(0-10 分)。既往研究显示,同类患者术后疼痛评分的组内标准差约为 2 分。课题组预计三组均值大约为:
\[ \mu_A=5.0,\quad \mu_B=4.0,\quad \mu_C=3.5,\quad \sigma=2.0 \]
如果研究主要想做总体 ANOVA F 检验,可以把这些均值和标准差换算为 Cohen’s f 后计算样本量。如果研究方案更关心“任意两组之间至少相差 1 分是否能被检出”,则可使用成对比较 Bonferroni 校正公式。
11.4.3 参数如何确定
多组均值样本量估算需要两个核心信息:组间均值差异有多大,以及组内波动有多大。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 组数 | 3 组 | 研究方案设定 |
| 各组均值 | 5.0 / 4.0 / 3.5 | 既往研究、预实验或临床目标 |
| 组内标准差 \(\sigma\) | 2.0 | 同类研究的 SD、预实验或数据库估计 |
| 计划比较次数 \(\tau\) | 3 | 三组所有两两比较为 3 次 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 来自随访缺失、退出研究等经验 |
如果文献给出的是每组均值和标准差,可以直接提取;如果只报告中位数和四分位数,建议先查找是否有均值和 SD 的补充材料,必要时再采用已发表方法进行估算。不要只选最有利于降低样本量的一篇文献;更稳妥的做法是在敏感性分析中同时考察较小的组间差异和较大的标准差。
11.4.4 操作步骤
进入“样本量与功效分析”后,点击“多组均值(ANOVA)”卡片。主计算页依次设置:
- 计算方法:可选“成对比较 Bonferroni 法(R 包:TrialSize)”或“总体 F 检验 Cohen’s f 法(R 包:pwr)”。
- 求解目标:求每组样本量或求检验效能。
- 输入
alpha、power或已知每组样本量。 - 输入各组均值和共同组内标准差
sigma。 - 若选择 TrialSize 法,输入最小需要检出的两组均值差
delta,并确定比较次数。 - 输入脱落率,点击“计算主要结果”。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
11.4.5 计算方法
成对比较 Bonferroni 法(R 包:TrialSize)
TrialSize 包的 OneWayANOVA.pairwise 用于多组均值中的计划两两比较,并用 Bonferroni 方法校正多重比较。公式可写为:
\[ n_{ij}= \frac{2\left(Z_{1-\alpha/(2\tau)}+Z_{1-\beta}\right)^2\sigma^2}{\delta^2} \]
这里的 \(\tau\) 是计划比较次数,\(\delta\) 是希望有把握检出的最小两组均值差。这个方法适合研究方案已经明确主要两两比较,且需要在正文保留可解释公式的场景。
总体 F 检验 Cohen’s f 法(R 包:pwr)
pwr 包的 pwr.anova.test 说明书将其用于 balanced one-way analysis of variance tests,效应量采用 Cohen’s f:
\[ f=\frac{\sqrt{\sum(\mu_i-\bar{\mu})^2/k}}{\sigma} \]
这个方法回答的是总体 ANOVA F 检验问题:多组均值是否至少有一组不同。它适合主要假设是总体差异、需要与 Cohen’s f / pwr / G*Power 口径一致的研究。
11.4.6 结果解释和敏感性分析
结果区会显示每组样本量、总样本量、Cohen’s f、实际效能和脱落调整后的入组人数。需要注意,TrialSize 法和 pwr 法的研究问题不同:前者偏向计划两两比较,后者偏向总体 F 检验,因此结果不一定完全相同。
敏感性分析建议至少改变组间差异、组内标准差和目标效能。如果标准差稍微变大就导致样本量明显增加,应在方案中说明 SD 的来源,并考虑使用保守估计。
11.4.7 论文描述写法
公式法示例:
采用单因素方差分析中计划两两比较的 Bonferroni 校正样本量公式(Chow et al. 2003)进行估算。设定 3 组、所有两两比较共 3 次,I 类错误率 alpha = 0.05,组内标准差 \(\sigma = 2.0\),最小需要检出的两组均值差 \(\delta = 1.0\),目标检验效能 80%。计算得到每组所需样本量,并按预设脱落率进行入组人数调整。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size for balanced one-way ANOVA was calculated using the R package pwr (version 1.3-0; pwr.anova.test), based on Cohen’s f effect size (Cohen 1988). Cohen’s f was calculated from the prespecified group means and the common within-group standard deviation. A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.5 重复测量 ANOVA
11.5.1 适用范围与基本概念
重复测量设计用于同一名受试者在多个时间点反复测量同一个连续结局。例如患者在治疗前、治疗 4 周、8 周、12 周分别测量量表分数;或不同治疗组患者在多个随访时间点重复测量血压、疼痛评分、生活质量评分。由于同一个人的多次测量彼此相关,不能简单把所有记录当成独立样本。
重复测量 ANOVA 的主要问题可能有三类:组间效应,即不同治疗组总体均值是否不同;时间内效应,即同一批受试者随时间是否变化;组×时间交互效应,即不同治疗组的变化趋势是否不同。临床试验中最常见、也最有解释价值的往往是组×时间交互效应。
11.5.2 研究实例:三组康复方案的功能评分随访
假设康复科准备比较 A、B、C 三种康复方案对膝关节术后功能恢复的影响。每位患者随机进入一个治疗组,在基线、4 周、8 周和 12 周各测量一次功能评分。研究者关心的是:三组功能评分随时间改善的轨迹是否不同。
本例可设定:
- 组数
ng = 3。 - 测量次数
nm = 4。 - 主要效应:组×时间交互效应。
- Cohen’s f 预期约为 0.36。
- 非球形校正系数 epsilon 取 0.70。
alpha = 0.05,目标把握度 80%,预计 10% 脱落。
使用 WebPower 的重复测量 ANOVA 功效计算,软件会根据这些参数估算完成主要终点评估所需的总样本量,并按组数拆分到每组。
11.5.3 参数如何确定
重复测量样本量比普通两组比较更依赖设计细节。至少需要确定测量时间点、效应类型、效应大小以及是否考虑非球形校正。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
组数 ng |
3 | 研究方案设定 |
测量次数 nm |
4 | 基线和 3 次随访 |
| 主要效应 | 组×时间交互 | 研究问题决定 |
| Cohen’s f | 0.36 | 既往重复测量研究、预实验或专家设定 |
| epsilon | 0.70 | 既往研究、预实验;无依据时做敏感性分析 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 多次随访研究常需重点估计 |
如果文献只给出每个时间点的均值和标准差,而没有效应量,可先根据主要比较目标估计 Cohen’s f,或请统计师根据完整协方差结构进行更精细的 MMRM/纵向模型样本量设计。对正式注册临床试验,重复测量 ANOVA 只是常用近似,若主要分析模型是 MMRM,应优先按 MMRM 设计。
11.5.4 操作步骤
进入“样本量与功效分析”后,点击“重复测量”卡片。主计算页依次设置:
- 计算方法:可选“重复测量成对比较公式(R 包:TrialSize)”或“重复测量 ANOVA Cohen’s f 法(R 包:WebPower)”。
- 求解目标:求样本量或求检验效能。
- 输入组数
ng和测量次数nm。 - WebPower 法需要选择效应类型,输入 Cohen’s f 和 epsilon。
- TrialSize 法需要输入合并标准差
sigma、临床有意义差值delta和 Bonferroni 比较次数m。 - 输入脱落率,点击“计算主要结果”。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
11.5.5 计算方法
重复测量成对比较公式(R 包:TrialSize)
TrialSize 包的 ANOVA.Repeat.Measure 采用 Bonferroni 校正后的重复测量临床试验成对比较公式:
\[ n= \frac{2\sigma^2\left(Z_{1-\alpha/(2m)}+Z_{1-\beta}\right)^2}{\delta^2} \]
这个方法形式清楚,适合方案中已经指定若干成对比较,并希望保留公式推导的场景。但它对重复测量相关结构的表达较简化。
重复测量 ANOVA Cohen’s f 法(R 包:WebPower)
WebPower 包的 wp.rmanova 用于 repeated-measures ANOVA 的功效分析,可分别计算组间效应、时间内效应和组×时间交互效应。该方法使用 Cohen’s f,并允许设置非球形校正系数 epsilon,更贴近常规重复测量 ANOVA 的功效分析口径。
11.5.6 结果解释和敏感性分析
结果区会显示每组样本量、总样本量、实际效能和脱落调整后的入组人数。WebPower 法的样本量先按总样本量估算,再按组数向上取整,因此最终总数可能略大于理论总样本量。
敏感性分析建议重点改变 Cohen’s f、epsilon、power 和脱落率。重复随访研究最常见的问题是随访缺失超过预期;如果预计脱落率从 10% 增加到 20% 后样本量明显增加,方案中应提前规划随访管理策略。
11.5.7 论文描述写法
公式法示例:
采用重复测量临床试验的 Bonferroni 校正成对比较样本量公式(Chow et al. 2003)进行估算。设定显著性水平、目标检验效能、合并标准差、临床有意义差值和计划比较次数后,计算每组所需样本量,并按预设脱落率进行调整。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size for repeated-measures ANOVA was calculated using the R package WebPower (wp.rmanova), based on Cohen’s f effect size and the nonsphericity correction coefficient. The calculation specified the number of groups, number of measurements, the target effect type, alpha, and target power. A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Zhang Z, Yuan KH. Practical Statistical Power Analysis Using Webpower and R. Granger, IN: ISDSA Press; 2018.
11.6 两处理交叉对照试验
11.6.1 先判断是不是这个模块
两处理交叉对照试验,用于“同一批受试者按随机顺序先后接受 A、B 两种处理,并比较一个连续性主要结局的平均处理差异”。最常见的设计是 AB 与 BA 两个序列:AB 序列的受试者第 1 时期接受 A 处理,经过清洗期后第 2 时期接受 B 处理;BA 序列则先接受 B,再接受 A。
这里的“同一批受试者”不等于“只有一个组”。交叉设计在随机化时仍然有两个序列,AB 序列和 BA 序列共同组成完整研究。每名完成者都会接受两种处理,因此个体差异可以被自身对照部分抵消;但为了平衡时期效应和顺序效应,研究仍需把受试者随机分配到两个序列。
最容易混淆的几种情景如下:
| 情景 | 医学研究例子 | 应使用的模块 |
|---|---|---|
| 同一批受试者随机进入 AB 或 BA 序列,每名完成者先后接受两种短效处理 | 慢性腰痛患者随机进入 AB 或 BA 序列,分别接受标准短效镇痛贴和新型短效镇痛贴,两次处理后均记录 2 小时 VAS 疼痛评分 | 本模块 |
| 两组不同受试者各自只接受一种处理 | 治疗组接受新药,对照组接受标准治疗,12 周后比较 SBP 或疼痛评分 | 不用本模块,应使用“两独立样本均值比较” |
| 一组受试者只有治疗前和治疗后两次测量 | 所有患者接受同一种康复治疗,比较治疗前后 NRS 疼痛评分变化 | 不用本模块,应使用“配对样本均值比较” |
| 三种及以上处理按多时期序列轮换 | A、B、C 三种吸入给药方案采用 Williams 设计比较 FEV1 | 不用本模块,应使用多处理交叉设计相关模块 |
因此,判断本模块的关键不是“是不是同一批患者”,而是:每名完成者是否都会接受 A 和 B 两种处理,并且研究方案是否采用 AB 与 BA 两个随机序列。
11.6.2 研究例子:两种短效镇痛贴的 AB/BA 交叉试验
假设疼痛科准备比较两种短效镇痛贴对慢性腰痛急性发作的镇痛效果。A 处理为标准短效镇痛贴,B 处理为新型短效镇痛贴。每名患者参加两个治疗时期,每个时期只使用一种贴剂,处理后 2 小时记录一次 0 到 100 mm VAS 疼痛评分;两个时期之间设置足够清洗期,避免前一次贴剂影响下一次测量。
受试者按 1:1 随机进入两个序列:
- AB 序列:第 1 时期接受 A,第 2 时期接受 B。
- BA 序列:第 1 时期接受 B,第 2 时期接受 A。
本研究真正关心的是两种贴剂的平均 VAS 评分是否存在差异,而不是单纯比较第 1 时期和第 2 时期。下面的示意图展示了 AB 与 BA 两个序列的关系。
11.6.3 第一步:明确主要终点和处理差异
样本量计算前,先把主要终点写成一个清楚的临床问题。本例主要终点是“每个治疗时期处理后 2 小时的 VAS 疼痛评分”。如果评分越低表示疼痛越轻,则两种处理的平均差异可以写成:
\[ \theta = \mu_T-\mu_C \]
其中 \(\mu_T\) 表示新型短效镇痛贴 B 的平均 VAS 评分,\(\mu_C\) 表示标准短效镇痛贴 A 的平均 VAS 评分。若研究只想判断两种处理是否存在平均差异,可选择不等式检验,并把希望检出的差异大小写为 \(|\theta|\)。假设课题组认为,2 小时 VAS 平均差异达到 5 mm 就具有临床意义,则本例设定:
\[ \theta = 5\ \text{mm} \]
如果研究目标是非劣效、优效或等效,还需要进一步给出相应界值。界值应来自临床共识、既往研究或方案预设,而不是根据软件结果反复调出来。
11.6.4 第二步:估计交叉设计标准差
本模块中的 \(\sigma\) 是交叉设计标准差。它不等同于两组平行试验里某一次 VAS 评分的普通组内标准差,也不应直接照搬治疗后 VAS 的 SD。
在两处理交叉设计中,每名完成者都会在 A 和 B 两种处理下各贡献一个结局值。样本量计算真正需要的是与处理差异估计有关的波动程度。最理想的来源是既往同类交叉研究或预实验:先得到每名受试者在两种处理下的结局差值,再估计该差值所对应的标准差。若既往研究报告了交叉设计样本量计算所用的 within-subject SD、intra-subject SD 或 treatment-difference SD,也可以作为参考。
假设课题组根据一项预实验发现,同类慢性腰痛患者两种短效贴剂下 VAS 差异的波动约为 10 mm,于是本例设定:
\[ \sigma = 10\ \text{mm} \]
如果只能找到平行组研究的 SD,应在方案中说明这是近似来源,并在敏感性分析中取更宽范围。例如同时考察 \(\sigma=8,10,12\) mm,而不是只取最有利的数值。
11.6.5 第三步:设定错误风险、序列分配和脱落率
\(\alpha\) 是 I 类错误率,医学研究中常用 0.05。检验效能 \(1-\beta\),也常写作 power,表示当真实处理差异达到预设水平时,研究能够检出该差异的概率。常用取值为 80% 或 90%。
本例采用不等式检验,\(\alpha=0.05\),目标检验效能 80%,AB 与 BA 两个序列 1:1 随机分配。考虑患者可能未完成第二时期、清洗期后退出或主要终点无效,预计无效/脱落率为 10%。
到这里,研究设计已经转化为一组可计算参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 设计 | AB/BA 两序列 | 每名完成者先后接受 A、B 两种处理 |
| 主要终点 | 处理后 2 小时 VAS 评分 | 连续性结局 |
| 假设类型 | 不等式检验 | 判断两种处理平均差异是否存在 |
| \(\theta\) | 5 | 希望检出的平均处理差异 |
| \(\sigma\) | 10 | 交叉设计标准差 |
| \(\alpha\) | 0.05 | I 类错误率 |
| power | 0.80 | 目标检验效能 |
| 脱落率 | 0.10 | 预计 10% 无法完成主要终点评估 |
11.6.6 软件界面怎样填写
进入“样本量计算软件”后,在交叉设计相关卡片中选择“两处理交叉对照试验”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量或功效计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
在“样本量与功效分析”中,左侧依次填写四类信息:
- “计算方法”:选择传统交叉设计公式(R 包:TrialSize)。
- “求解目标”:选择求每序列样本量,或在已知每序列完成样本量时求检验效能。
- “主要样本量计算”:选择假设类型,包括不等式、非劣效、优效性或等效性检验。
- “参数设置”:输入 \(\alpha\)、power、交叉设计标准差 \(\sigma\)、预期处理差异 \(\theta\)、必要时的界值,以及预计无效/脱落率。
按照前面的短效镇痛贴例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 传统交叉设计公式(R 包:TrialSize) |
| 求解目标 | 求每序列样本量 |
| 假设类型 | 不等式检验 |
| \(\alpha\) | 0.05 |
| power | 0.80 |
| \(\sigma\) | 10 |
| \(\theta=|\mu_T-\mu_C|\) | 5 |
| 预计无效/脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标、假设类型和参数设置都在这里完成。下图展示的是本例短效镇痛贴交叉试验的示例设置;实际使用时,应把自己研究中确定的 \(\theta\)、\(\sigma\)、\(\alpha\)、power 和预计无效/脱落率填入相应输入框。
各面板标题旁的问号会打开说明弹窗。弹窗内容会根据“求解目标”和“假设类型”变化:例如选择不等式检验时,只解释 \(\theta\) 和 \(\sigma\);选择非劣效或等效时,才会出现相应界值的解释。
11.6.7 计算方法怎样理解
本模块使用两处理两序列交叉设计的正态近似样本量公式。对于不等式检验,软件采用的基本形式为:
\[ n= \frac{(Z_{1-\alpha/2}+Z_{1-\beta})^2\sigma^2} {2\Delta_{\text{eff}}^2} \]
其中 \(n\) 表示每个随机序列需要完成主要终点评估的受试者数,不是两个序列合计人数。对于不等式检验,\(\Delta_{\text{eff}}=|\theta|\)。本例中 \(Z_{1-\alpha/2}=1.9600\),\(Z_{1-\beta}=0.8416\),\(\sigma=10\),\(\Delta_{\text{eff}}=5\),代入后:
\[ n= \frac{(1.9600+0.8416)^2\times 10^2} {2\times 5^2} =15.70\approx 16 \]
因此,AB 序列需要 16 例完成主要终点评估,BA 序列也需要 16 例完成主要终点评估;两个序列合计总完成受试者数为:
\[ 16 + 16 = 32 \]
这就是为什么软件结果会显示“每序列 16 例”,同时报告“总完成受试者数 32 例”。交叉设计让每名完成者都接受两种处理,但研究并不是只有一个序列;AB 与 BA 两个序列都要有足够完成者,才能平衡处理顺序和时期影响。
考虑 10% 无效/脱落率后,每序列建议入组:
\[ \left\lceil \frac{16}{1-0.10} \right\rceil = 18 \]
于是实际建议总入组为 AB 序列 18 例、BA 序列 18 例,合计 36 例。
点击“计算主要结果”后,右侧主面板会先显示本次计算采用的参数和主要结果,随后展示“方法一:公式计算法”的公式代入、结果解释、R 代码、R 原始输出、论文描述和参考文献。论文描述紧接在公式法结果中,是同一个方法的报告内容,不再单独作为另一张结果卡。
11.6.8 什么时候选哪一种假设类型
如果研究问题是“两种处理平均结局是否存在差异”,选择不等式检验。本例中比较两种短效镇痛贴的 VAS 评分差异,就属于这种情形。
如果研究问题是“新处理不比标准处理差超过一个临床允许界值”,选择非劣效检验。例如居家护理流程在疼痛评分上允许最多差 5 mm,只要不超过这个界值就可接受。
如果研究问题是“新处理要比标准处理好到超过某个临床界值”,选择优效性检验。例如新贴剂至少要比标准贴剂降低 5 mm VAS,才认为有实际推广价值。
如果研究问题是“两种处理足够接近”,选择等效性检验。例如两种短效药物制剂希望证明镇痛效果差异落在预设等效界值以内。
11.6.9 论文描述怎样写
软件会在结果区生成中英文论文描述。正式写入方案或论文时,应特别说明 \(n\) 的含义是“每序列完成受试者数”,并同时报告两个序列合计完成样本量和脱落调整后的实际入组人数。
公式法示例:
The sample size for a two-treatment two-sequence crossover study was estimated using the normal approximation formula for crossover designs (Chow et al. 2003). Participants would be randomized equally to the AB and BA sequences, and each completer would receive both treatments. For the planned inequality test, the expected treatment difference was 5 mm, the crossover-design standard deviation was 10 mm, the two-sided alpha was 0.05, and the target power was 80%. The calculation yielded 16 completed subjects per sequence, corresponding to 32 completed subjects across the two sequences. Assuming a 10% invalid or dropout rate, 18 subjects should be enrolled in each sequence, giving a total planned enrollment of 36 subjects.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用两处理两序列交叉设计的正态近似样本量公式(Chow et al. 2003)进行估算。受试者按 1:1 随机分配到 AB 与 BA 两个序列,每名完成者均接受两种处理。研究采用不等式检验,预期处理差异为 5 mm,交叉设计标准差为 10 mm,双侧 \(\alpha=0.05\),目标检验效能为 80%。计算得到每个序列需要 16 例完成主要终点评估,两个序列合计总完成受试者数为 32 例。考虑 10% 的无效/脱落率,实际建议每个序列入组 18 例,两个序列合计入组 36 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
11.6.10 敏感性分析怎么做
交叉试验样本量对 \(\sigma\) 和有效差值非常敏感。若 \(\sigma\) 来源于小样本预实验,正式方案中建议进行敏感性分析。点击“敏感性分析”标签页,可以一次输入多个参数值,软件会生成所有组合的每序列完成样本量、总完成样本量和脱落调整后入组人数。
例如:
- power:
0.80 0.90 - \(\sigma\):
8 10 12 - \(\theta\):
4 5 6 - \(\alpha\):
0.05 - 脱落率:
0.10
若在 \(\theta=4\) 且 \(\sigma=12\) 时样本量明显增加,说明研究规模对处理差异和交叉设计标准差的假设很敏感。正式方案中应说明主分析参数的来源,并把敏感性分析作为可行性判断的一部分。
11.6.11 Word 报告下载
“下载word文档(论文中的样本量计算部分)”是单独的标签页。完成主要计算后,点击该标签页中的下载按钮,可以导出 Word 报告。报告会整理主要样本量结果、公式法描述、R 代码与原始输出;如果已经生成敏感性分析结果,也可以把敏感性分析表一起纳入报告。
11.6.12 常见问题
Q:每名患者都接受 A 和 B 两种处理,为什么总完成样本量还要乘以 2?
A:因为软件结果中的 \(n\) 是每个随机序列的完成受试者数。AB 序列需要 \(n\) 例,BA 序列也需要 \(n\) 例,总完成受试者数是 \(2n\)。交叉设计的“自身对照”体现在每名完成者接受两种处理,但随机序列仍然有两个。
Q:能不能把两独立样本均值模块算出的每组样本量直接用于交叉设计?
A:不建议。两独立样本均值比较的标准差是两组受试者之间的组内波动,而交叉设计需要的是同一受试者两处理差异相关的标准差。两个问题的统计结构不同。
Q:治疗持续时间很长,或者前一次处理可能影响后一次,还能用这个模块吗?
A:要谨慎。交叉设计通常适合病情相对稳定、处理效应较短、清洗期可以合理设置的场景。如果存在明显残留效应、疾病自然进展很快,或处理可能产生不可逆影响,应优先考虑平行随机对照设计。
11.7 Williams 多处理交叉试验
11.7.1 先判断是不是这个模块
Williams 多处理交叉试验,用于“同一批受试者按平衡顺序先后接受三种及以上处理,并比较一个连续性主要结局的平均处理差异”。这里的处理可以是不同药物、不同给药流程、不同护理流程、不同检测流程或不同短效干预。
前面的 AB/BA 交叉设计模块只处理 A、B 两种处理,随机序列固定为 AB 与 BA。Williams 设计则把处理数扩展到 \(k\) 种,例如 A、B、C 三种处理,研究会设置多个平衡序列,使每一种处理在各个时期中尽量均衡出现,并使处理前后相邻关系尽量均衡。
这里的“平衡”不是说每名受试者只接受一种处理。恰恰相反,每名完成者都要按所在序列依次接受全部 \(k\) 种处理。平衡体现在不同随机序列之间:例如三处理设计中,ABC、BCA、CAB 可以让 A、B、C 在第 1、第 2、第 3 时期中都出现一次;但这三条序列只能说明“时期平衡”,还不足以严格平衡有方向的一阶残留效应。标准三处理 Williams 设计通常还要加入反向序列 CBA、ACB、BAC,形成 6 条序列。
最容易混淆的几种情景如下:
| 情景 | 医学研究例子 | 应使用的模块 |
|---|---|---|
| 同一批受试者随机进入 Williams 平衡序列,每名完成者依次接受三种及以上短效处理,结局为连续数值 | 慢性腰痛患者随机进入 ABC、BCA、CAB 等序列,分别接受 A、B、C 三种短效镇痛方案,每个时期后记录 2 小时 VAS 疼痛评分 | 本模块 |
| 同一批受试者随机进入 AB 或 BA 序列,每名完成者只接受 A、B 两种处理 | 两种短效镇痛贴采用 AB/BA 两序列交叉设计比较 VAS 疼痛评分 | 不用本模块,应使用“两处理交叉对照试验” |
| 两组或多组不同受试者各自只接受一种处理 | 三组患者分别接受 A、B、C 三种治疗,12 周后比较治疗后 SBP 或疼痛评分 | 不用本模块,应使用“两独立样本均值比较”或“多组均值(ANOVA)比较” |
| 一组受试者只有治疗前和治疗后两次测量 | 所有患者接受同一种康复治疗,比较治疗前后 NRS 疼痛评分变化 | 不用本模块,应使用“配对样本均值比较” |
| 三种及以上处理按多时期序列轮换,但主要结局是是/否 | A、B、C 三种检测流程采用 Williams 设计比较阳性率 | 本模块当前不适用;当前模块只用于连续性结局 |
因此,判断本模块的关键是:是否为连续性主要结局,是否有三种及以上处理,是否计划让每名完成者按 Williams 平衡序列接受全部处理。
11.7.2 研究例子:三种短效镇痛方案的 Williams 交叉试验
假设疼痛科准备比较三种短效镇痛方案对慢性腰痛急性发作的镇痛效果。A 处理为标准短效镇痛贴,B 处理为新型短效镇痛贴,C 处理为短效外用凝胶。每名患者参加三个治疗时期,每个时期只使用一种处理,处理后 2 小时记录一次 0 到 100 mm VAS 疼痛评分;相邻两个时期之间设置足够清洗期,避免前一次处理影响下一次测量。
受试者随机进入 Williams 平衡序列。以三种处理为例,标准 Williams 设计通常包括 6 条序列:
- ABC 序列:第 1 时期接受 A,第 2 时期接受 B,第 3 时期接受 C。
- BCA 序列:第 1 时期接受 B,第 2 时期接受 C,第 3 时期接受 A。
- CAB 序列:第 1 时期接受 C,第 2 时期接受 A,第 3 时期接受 B。
- CBA 序列:第 1 时期接受 C,第 2 时期接受 B,第 3 时期接受 A。
- ACB 序列:第 1 时期接受 A,第 2 时期接受 C,第 3 时期接受 B。
- BAC 序列:第 1 时期接受 B,第 2 时期接受 A,第 3 时期接受 C。
前 3 条循环序列能让每种处理在每个时期出现一次;后 3 条反向序列用于补足有方向的相邻关系,使一阶残留效应得到平衡。因此,三处理 Williams 设计通常不是 3 条序列,而是 6 条序列。每名受试者仍然只完成 3 个处理时期,并不是完成 6 个时期。
本研究真正关心的是三种镇痛方案中任意两种处理的平均 VAS 评分是否存在差异,而不是单纯比较第 1、第 2、第 3 时期。下面的示意图展示了三处理 Williams 交叉设计的基本关系。
如果处理数增加,Williams 序列可以按同样思路扩展。需要注意:序列写法并不唯一,只要满足时期平衡和一阶残留效应平衡即可;不同软件或随机化方案可能给出等价但顺序不同的排列。下面给出一种常用构造方式:
| 处理数 | 一种 Williams 平衡序列设计示例 | 怎样理解 |
|---|---|---|
| 4 种处理 A、B、C、D | ADBC、BACD、CBDA、DCAB | 4 是偶数,可以用 4 条序列。每种处理在 4 个时期各出现 1 次,每种处理都恰好跟在其他每种处理后面 1 次。 |
| 5 种处理 A、B、C、D、E | AEBDC、BACED、CBDAE、DCEBA、EDACB、CDBEA、DECAB、EADBC、ABECD、BCADE | 5 是奇数,标准 Williams 设计通常需要两组拉丁方,也就是 10 条序列。每种处理在 5 个时期各出现 2 次,每一种有方向的相邻关系都出现 2 次。 |
因此,四处理时可以想象为 4 条序列、每条 4 个时期;五处理时可以想象为 10 条序列、每条 5 个时期。样本量软件中的处理数 \(k\) 仍填写处理个数,例如四处理填 4,五处理填 5;随机化表则按研究方案采用的 Williams 序列来生成。
11.7.3 第一步:明确主要终点、处理数和处理差异
样本量计算前,先把主要终点写成一个清楚的临床问题。本例主要终点是“每个治疗时期处理后 2 小时的 VAS 疼痛评分”。如果评分越低表示疼痛越轻,则任意两个处理之间的平均差异可以写成:
\[ \theta = \mu_i-\mu_j \]
其中 \(\mu_i\) 与 \(\mu_j\) 表示第 \(i\) 种和第 \(j\) 种处理下的平均结局。若研究只想判断三种处理中的任意两种是否存在平均差异,可选择不等式检验,并把希望检出的差异大小写为 \(|\theta|\)。
本例计划比较三种处理,因此:
\[ k=3 \]
假设课题组认为,2 小时 VAS 平均差异达到 5 mm 就具有临床意义,则本例设定:
\[ \theta = 5\ \text{mm} \]
如果研究目标是非劣效、优效或等效,还需要进一步给出相应界值。界值应来自临床共识、既往研究或方案预设,而不是根据软件结果反复调出来。
11.7.4 第二步:估计交叉设计标准差
本模块中的 \(\sigma\) 是 Williams 交叉设计标准差。它不等同于三组平行试验里某一次 VAS 评分的普通组内标准差,也不应直接照搬治疗后 VAS 的 SD。
在 Williams 交叉设计中,每名完成者都会在多种处理下各贡献一个结局值。样本量计算真正需要的是与处理差异估计有关的波动程度。最理想的来源是既往同类多处理交叉研究或预实验:先得到同一受试者在不同处理下的结局差异,再估计这些处理差异所对应的标准差。
假设课题组根据预实验发现,同类慢性腰痛患者不同短效镇痛方案下 VAS 差异的波动约为 10 mm,于是本例设定:
\[ \sigma = 10\ \text{mm} \]
如果只能找到平行组研究的 SD,应在方案中说明这是近似来源,并在敏感性分析中取更宽范围。例如同时考察 \(\sigma=8,10,12\) mm,而不是只取最有利的数值。
11.7.5 第三步:设定错误风险、Williams 序列和脱落率
\(\alpha\) 是 I 类错误率,医学研究中常用 0.05。检验效能 \(1-\beta\),也常写作 power,表示当真实处理差异达到预设水平时,研究能够检出该差异的概率。常用取值为 80% 或 90%。
本例采用不等式检验,\(\alpha=0.05\),目标检验效能 80%,处理数 \(k=3\)。软件结果中的 \(n\) 表示每个 Williams 平衡序列需要完成主要终点评估的受试者数。因为 3 是奇数,标准 Williams 设计通常采用 \(2k=6\) 条序列,总完成受试者数按 \(6\times n\) 报告。考虑患者可能未完成全部三个处理时期、清洗期后退出或主要终点无效,预计无效/脱落率为 10%。
在阅读结果时要区分“处理数”和“随机序列数”。软件参数 \(k\) 填写的是处理数;公式中的 \(n\) 可按每个平衡序列的完成受试者数理解。对于偶数处理数,标准 Williams 设计通常有 \(k\) 条序列;对于奇数处理数,为了平衡一阶残留效应,正式随机化方案常使用 \(2k\) 条序列。实际方案撰写时,应按最终采用的 Williams 随机化表分配各序列人数。
到这里,研究设计已经转化为一组可计算参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 设计 | Williams 多处理平衡交叉设计 | 每名完成者按平衡序列接受 A、B、C 三种处理 |
| 主要终点 | 处理后 2 小时 VAS 评分 | 连续性结局 |
| 假设类型 | 不等式检验 | 判断任意两种处理平均差异是否存在 |
| \(k\) | 3 | 处理数;因 \(k\) 为奇数,标准 Williams 序列数为 \(2k=6\) |
| \(\theta\) | 5 | 希望检出的平均处理差异 |
| \(\sigma\) | 10 | 交叉设计标准差 |
| \(\alpha\) | 0.05 | I 类错误率 |
| power | 0.80 | 目标检验效能 |
| 脱落率 | 0.10 | 预计 10% 无法完成主要终点评估 |
11.7.6 软件界面怎样填写
进入“样本量计算软件”后,在交叉设计相关卡片中选择“Williams 多处理交叉试验”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量或功效计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
在“样本量与功效分析”中,左侧依次填写四类信息:
- “计算方法”:选择 Williams 多处理交叉设计公式(R 包:TrialSize)。
- “求解目标”:选择求每序列样本量,或在已知每序列完成样本量时求检验效能。
- “主要样本量计算”:选择假设类型,包括不等式、非劣效、优效性或等效性检验。
- “参数设置”:输入 \(\alpha\)、power、处理数 \(k\)、交叉设计标准差 \(\sigma\)、预期处理差异 \(\theta\)、必要时的界值,以及预计无效/脱落率。
按照前面的三种短效镇痛方案例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | Williams 多处理交叉设计公式(R 包:TrialSize) |
| 求解目标 | 求每序列样本量 |
| 假设类型 | 不等式检验 |
| \(\alpha\) | 0.05 |
| power | 0.80 |
| 处理数 \(k\) | 3 |
| \(\sigma\) | 10 |
| \(\theta=|\mu_i-\mu_j|\) | 5 |
| 预计无效/脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标、假设类型和参数设置都在这里完成。下图展示的是本例三处理 Williams 交叉试验的示例设置;实际使用时,应把自己研究中确定的 \(k\)、\(\theta\)、\(\sigma\)、\(\alpha\)、power 和预计无效/脱落率填入相应输入框。
各面板标题旁的问号会打开说明弹窗。弹窗内容会根据“求解目标”和“假设类型”变化:例如选择不等式检验时,只解释 \(k\)、\(\theta\) 和 \(\sigma\);选择非劣效或等效时,才会出现相应界值的解释。
11.7.7 计算方法怎样理解
本模块使用 Williams 多处理交叉设计的正态近似样本量公式,并调用 R 包 TrialSize 中的相应函数。对于不等式检验,软件采用的基本形式为:
\[ n= \frac{(Z_{1-\alpha/2}+Z_{1-\beta})^2\sigma^2} {k\Delta_{\text{eff}}^2} \]
其中 \(n\) 表示每个 Williams 平衡序列需要完成主要终点评估的受试者数,不是全部序列合计人数。对于不等式检验,\(\Delta_{\text{eff}}=|\theta|\)。本例中 \(Z_{1-\alpha/2}=1.9600\),\(Z_{1-\beta}=0.8416\),\(\sigma=10\),\(k=3\),\(\Delta_{\text{eff}}=5\),代入后:
\[ n= \frac{(1.9600+0.8416)^2\times 10^2} {3\times 5^2} =10.47\approx 11 \]
因此,每个 Williams 平衡序列需要 11 例完成主要终点评估。三处理标准 Williams 设计通常有 6 条序列,合计总完成受试者数为:
\[ 6\times 11 = 66 \]
这就是为什么软件结果会显示“每序列 11 例”,同时报告“总完成受试者数 66 例”。每名完成者都会接受 A、B、C 三种处理,但研究并不是只有一个序列;6 条 Williams 平衡序列都要有足够完成者,才能同时平衡处理顺序、时期影响和一阶残留效应。
考虑 10% 无效/脱落率后,每序列建议入组:
\[ \left\lceil \frac{11}{1-0.10} \right\rceil = 13 \]
于是实际建议入组为每个 Williams 平衡序列 13 例;6 条序列合计建议入组 78 例。软件同时会给出实际效能;本例向上取整后实际效能约为 81.92%。
点击“计算主要结果”后,右侧主面板会先显示本次计算采用的参数和主要结果,随后展示“方法一:公式计算法”的公式代入、结果解释、R 代码、R 原始输出、论文描述和参考文献。论文描述紧接在公式法结果中,是同一个方法的报告内容,不再单独作为另一张结果卡。
R 包 TrialSize 中与本模块对应的函数包括:
MeanWilliamsDesign.Equality:不等式检验。MeanWilliamsDesign.NIS:非劣效和优效性检验。MeanWilliamsDesign.Equivalence:等效性检验。
11.7.8 什么时候选哪一种假设类型
如果研究问题是“多种处理中任意两种平均结局是否存在差异”,选择不等式检验。本例中比较三种短效镇痛方案的 VAS 评分差异,就属于这种情形。
如果研究问题是“新处理不比标准处理差超过一个临床允许界值”,选择非劣效检验。例如居家简化雾化流程更方便,但需要证明 FEV1 改善量不比标准流程差超过 50 mL。
如果研究问题是“新处理要比标准处理好到超过某个临床界值”,选择优效性检验。例如强化康复方案至少要比常规方案多增加 25 m 的 6 分钟步行距离,才认为有实际推广价值。
如果研究问题是“多种处理足够接近”,选择等效性检验。例如三种检测流程希望证明测得的血清肌酐平均差异落在预设等效界值以内,可以在临床随访中互换使用。
11.7.9 论文描述怎样写
软件会在结果区生成中英文论文描述。正式写入方案或论文时,应特别说明 \(n\) 的含义是“每个 Williams 平衡序列完成受试者数”,并同时报告最终采用的 Williams 随机序列数、合计完成样本量和脱落调整后的实际入组人数。
公式法示例:
The sample size for a Williams crossover study with three treatments was estimated using the normal approximation formula for multiple-sample Williams designs (Chow et al. 2003). Participants would be randomized equally to six balanced Williams sequences, and each completer would receive all three treatments. For the planned inequality test, the expected treatment difference was 5 mm, the crossover-design standard deviation was 10 mm, the two-sided alpha was 0.05, and the target power was 80%. The calculation yielded 11 completed subjects per sequence, corresponding to 66 completed subjects across the six Williams sequences. Assuming a 10% invalid or dropout rate, 13 subjects should be enrolled in each sequence, giving a total enrollment of 78 subjects.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用 Williams 多处理交叉设计的正态近似样本量公式(Chow et al. 2003)进行估算。本研究计划比较三种处理,受试者按 6 条平衡 Williams 序列随机分配,每名完成者均接受全部三种处理。研究采用不等式检验,预期处理差异为 5 mm,交叉设计标准差为 10 mm,双侧 \(\alpha=0.05\),目标检验效能为 80%。计算得到每个 Williams 平衡序列需要 11 例完成主要终点评估,6 条序列合计总完成受试者数为 66 例。考虑 10% 的无效/脱落率,实际建议每个序列入组 13 例,合计入组 78 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
11.7.10 敏感性分析怎么做
Williams 交叉试验样本量对处理数 \(k\)、\(\sigma\) 和有效差值非常敏感。若 \(\sigma\) 来源于小样本预实验,或不同处理差异尚不确定,正式方案中建议进行敏感性分析。点击“敏感性分析”标签页,可以一次输入多个参数值,软件会生成所有组合的每序列完成样本量、总完成样本量和脱落调整后入组人数。
例如:
- power:
0.80 0.90 - 处理数 \(k\):
3 4 - \(\sigma\):
8 10 12 - \(\theta\):
4 5 6 - \(\alpha\):
0.05 - 脱落率:
0.10
若在 \(\theta=4\)、\(\sigma=12\) 或 \(k\) 改变时样本量明显变化,说明研究规模对处理差异、交叉设计标准差和处理数假设很敏感。正式方案中应说明主分析参数的来源,并把敏感性分析作为可行性判断的一部分。
11.7.11 Word 报告下载
“下载word文档(论文中的样本量计算部分)”是单独的标签页。完成主要计算后,点击该标签页中的下载按钮,可以导出 Word 报告。报告会整理主要样本量结果、公式法描述、R 代码与原始输出;如果已经生成敏感性分析结果,也可以把敏感性分析表一起纳入报告。
11.7.12 常见问题
Q:\(k\) 是处理数还是序列数?
A:在本模块中,\(k\) 按 TrialSize 的 Williams 设计函数理解为处理数。软件把结果中的 \(n\) 报告为每个 Williams 平衡序列完成受试者数。总完成受试者数应按最终随机化表中的序列数乘以 \(n\) 报告;偶数处理数通常有 \(k\) 条序列,奇数处理数若严格平衡一阶残留效应通常有 \(2k\) 条序列。
Q:Williams 模块和 AB/BA 模块能互相替代吗?
A:不建议。AB/BA 模块用于两种处理;Williams 模块用于三种及以上处理的平衡交叉设计。两者界面结构相似,但公式中的处理数和总完成受试者数计算方式不同。
Q:能不能用于二分类结局?
A:本连续结局模块不用于二分类结局。它面向 VAS 评分、FEV1、实验室检测数值或量表分数等连续性主要结局。如果主要结局是缓解/未缓解、阳性/阴性、达标/未达标,应使用“Williams 多处理交叉试验:二分类结局(通过率差值)”模块。
Q:如果受试者不能完成全部处理时期怎么办?
A:样本量计算通常针对完成全部关键处理时期并完成主要终点评估的受试者。若预计有人不能完成全部时期,应在“预计无效/脱落率”中进行放大,并在研究方案中预先说明缺失数据、退出和主要分析集的处理策略。
Q:治疗持续时间很长,或者前一次处理可能影响后一次,还能用 Williams 设计吗?
A:要谨慎。Williams 交叉设计通常适合病情相对稳定、处理效应较短、清洗期可以合理设置的场景。如果存在明显残留效应、疾病自然进展很快,或处理可能产生不可逆影响,应优先考虑平行随机对照设计。
11.8 Williams 多处理交叉试验:二分类结局(通过率差值)
11.8.1 先判断是不是这个模块
本模块用于 Williams 多处理交叉试验中的二分类主要结局。研究对象按平衡 Williams 序列随机分配;每名完成者依次接受三种及以上处理,每个处理时期结束时记录一次“是/否”结局,例如缓解/未缓解、阳性/阴性、达标/未达标或通过/未通过。
前面的 2×2 AB/BA 二分类交叉设计只处理 A、B 两种处理,随机序列固定为 AB 与 BA。Williams 二分类模块则把处理数扩展到 \(k\) 种,例如 A、B、C 三种处理。它仍然利用同一名受试者在不同处理下的配对信息,但随机化层面需要多个 Williams 平衡序列,以平衡时期效应和一阶残留效应。
这里最容易误解的是“三处理为什么有 6 个序列”。对于三种处理,ABC、BCA、CAB 三条循环序列可以让 A、B、C 在三个时期中各出现一次;但它们还不能严格平衡有方向的一阶残留效应。标准三处理 Williams 设计通常再加入 CBA、ACB、BAC 三条反向序列,形成 6 条序列。每名受试者仍然只完成 3 个处理时期,并不是完成 6 个时期。
最容易混淆的几种情景如下:
| 情景 | 医学研究例子 | 应使用的模块 |
|---|---|---|
| 同一批受试者随机进入 Williams 平衡序列,每名完成者依次接受三种及以上短效处理,结局为是/否 | 过敏性鼻炎患者按 Williams 序列依次使用 A、B、C 三种短效鼻喷剂,每个时期记录 24 小时内是否症状缓解 | 本模块 |
| 同一批受试者随机进入 Williams 平衡序列,结局是连续数值 | 三种短效镇痛方案采用 Williams 设计比较处理后 2 小时 VAS 疼痛评分 | 不用本模块,应使用“Williams 多处理交叉试验(连续结局)” |
| 同一批受试者随机进入 AB 或 BA 序列,每名完成者只接受 A、B 两种处理 | 两种鼻喷剂采用 AB/BA 两序列交叉设计比较 24 小时缓解率 | 不用本模块,应使用“2×2 交叉设计(AB/BA):二分类结局” |
| 两组或多组不同受试者各自只接受一种处理,结局为发生/未发生 | 三组患者分别接受 A、B、C 三种治疗,12 周后比较缓解率 | 不用本模块,应使用“两组独立样本率的比较”或“多组独立样本率的比较” |
| 一组受试者只有治疗前和治疗后两次二分类测量 | 所有患者接受同一种康复治疗,比较治疗前后是否达标 | 不用本模块,应使用配对比例或 McNemar 相关模块 |
因此,判断本模块的关键是:是否为二分类主要结局,是否有三种及以上处理,是否计划让每名完成者按 Williams 平衡序列接受全部处理。
11.8.2 研究例子:三种短效鼻喷剂的 Williams 交叉试验
假设耳鼻喉科准备比较三种短效鼻喷剂对过敏性鼻炎急性症状的缓解效果。A 处理为标准鼻喷剂,B 处理为新型短效鼻喷剂,C 处理为另一种候选鼻喷剂。每名患者参加三个治疗时期,每个时期使用一种鼻喷剂;相邻时期之间设置足够清洗期,避免前一时期药物影响后一时期结局。每个时期结束时记录“24 小时内是否达到症状缓解”,结局只有“缓解/未缓解”两类。
受试者随机进入 Williams 平衡序列。以三种处理为例,标准 Williams 设计通常包括 6 条序列:
- ABC 序列:第 1 时期接受 A,第 2 时期接受 B,第 3 时期接受 C。
- BCA 序列:第 1 时期接受 B,第 2 时期接受 C,第 3 时期接受 A。
- CAB 序列:第 1 时期接受 C,第 2 时期接受 A,第 3 时期接受 B。
- CBA 序列:第 1 时期接受 C,第 2 时期接受 B,第 3 时期接受 A。
- ACB 序列:第 1 时期接受 A,第 2 时期接受 C,第 3 时期接受 B。
- BAC 序列:第 1 时期接受 B,第 2 时期接受 A,第 3 时期接受 C。
前 3 条循环序列能让每种处理在每个时期出现一次;后 3 条反向序列用于补足有方向的相邻关系,使一阶残留效应得到平衡。因此,三处理 Williams 设计通常不是 3 条序列,而是 6 条序列。每名受试者仍然只完成 3 个处理时期,并不是完成 6 个时期。
本研究真正关心的是三种鼻喷剂中任意两种处理的缓解率是否存在差异。若主要比较 B 与 A,则样本量参数应从 A、B 这一对处理的配对二分类结果中提取;若主要比较 C 与 A 或 C 与 B,则需要重新提取对应那一对处理的 \(p_A\)、\(p_B\) 和 \(q\)。下面仍用 Williams 三处理示意图说明随机序列结构。
11.8.3 第一步:明确二分类主要终点和成对比较
样本量计算前,先把主要终点写成一个清楚的临床问题。本例主要终点是“每个治疗时期 24 小时内是否达到症状缓解”。虽然研究中有 A、B、C 三种处理,但通过率差值公式一次针对一个成对比较,例如 B 与 A:
\[ p_A = P(\text{A 处理下缓解}), \qquad p_B = P(\text{B 处理下缓解}) \]
本模块把主要效应量定义为通过率差值:
\[ \delta = p_B - p_A \]
假设既往资料或预实验提示,标准鼻喷剂 A 的缓解率约为 65%,新鼻喷剂 B 的缓解率约为 85%,则:
\[ p_A=0.65,\quad p_B=0.85,\quad \delta=0.85-0.65=0.20 \]
这里的 0.20 表示希望检出“B 处理缓解率比 A 处理高 20 个百分点”。这个差值应来自临床意义、既往研究或预实验,而不是根据软件结果反复调出来。若多个成对比较都很重要,正式方案中通常应按最难检出的那一对进行主样本量规划,并用敏感性分析展示其他合理参数下的样本量变化。
11.8.4 第二步:从配对四格表估计不一致比例 \(q\)
Williams 二分类交叉设计不能只填写 \(p_A\) 和 \(p_B\)。因为同一名受试者会在 A、B 两个处理下各贡献一次二分类结果,样本量还取决于两次结果的一致程度。本模块要求输入:
\[ q=p_{10}+p_{01} \]
其中 \(p_{10}\) 表示“A 处理通过、B 处理未通过”的比例,\(p_{01}\) 表示“A 处理未通过、B 处理通过”的比例。\(q\) 越大,说明同一受试者在两种处理下结果越常不一致;\(q\) 越小,说明两种处理下结果多数相同。
如果文献或预实验给出了 A、B 这一对处理的配对四格表,最推荐从表中直接提取参数:
| 配对结果 | B 处理通过 | B 处理未通过 |
|---|---|---|
| A 处理通过 | \(n_{11}\) | \(n_{10}\) |
| A 处理未通过 | \(n_{01}\) | \(n_{00}\) |
总完成例数为:
\[ N=n_{11}+n_{10}+n_{01}+n_{00} \]
于是:
\[ p_A=\frac{n_{11}+n_{10}}{N},\qquad p_B=\frac{n_{11}+n_{01}}{N},\qquad q=\frac{n_{10}+n_{01}}{N} \]
假设一项预实验中 100 名患者完成 A、B 两个处理时期,结果如下:A、B 均缓解 60 人;A 缓解而 B 未缓解 5 人;A 未缓解而 B 缓解 25 人;A、B 均未缓解 10 人。也就是:
\[ n_{11}=60,\quad n_{10}=5,\quad n_{01}=25,\quad n_{00}=10 \]
则:
\[ p_A=\frac{60+5}{100}=0.65,\qquad p_B=\frac{60+25}{100}=0.85,\qquad q=\frac{5+25}{100}=0.30 \]
软件会根据 \(p_A\)、\(p_B\) 和 \(q\) 自动计算方差项:
\[ \sigma=q-\delta^2 \]
本例中:
\[ \sigma=0.30-0.20^2=0.26 \]
如果文献只报告 A、B 两个处理的缓解率,却没有报告配对四格表、McNemar 表、不一致对数量或个体层面的配对结果,就不能唯一确定 \(q\)。这种情况下不应随便填一个最有利的数字,而应补找原文表格、联系作者、参考同类预实验,或用多个合理的 \(q\) 值做敏感性分析。
11.8.5 第三步:设定错误风险、Williams 序列和脱落率
\(\alpha\) 是 I 类错误率,医学研究中常用 0.05。检验效能 \(1-\beta\),也常写作 power,表示当真实通过率差值达到预设水平时,研究能够检出该差异的概率。常用取值为 80% 或 90%。
本例采用不等式检验,\(\alpha=0.05\),目标检验效能 80%,处理数 \(k=3\)。软件结果中的 \(n\) 表示每条 Williams 平衡序列需要完成主要终点评估的受试者数。因为 3 是奇数,标准 Williams 设计通常采用 \(2k=6\) 条序列;总完成受试者数按 \(6\times n\) 报告。考虑患者可能未完成全部三个处理时期、清洗期后退出或主要终点无效,预计无效/脱落率为 10%。
在阅读结果时要区分“处理数”和“随机序列数”。软件参数 \(k\) 填写的是处理数;公式中的 \(a\) 表示 Williams 随机序列数。对于偶数处理数,标准 Williams 设计通常有 \(a=k\) 条序列;对于奇数处理数,为了平衡一阶残留效应,正式随机化方案常使用 \(a=2k\) 条序列。实际方案撰写时,应按最终采用的 Williams 随机化表分配各序列人数。
到这里,研究设计已经转化为一组可计算参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 设计 | Williams 多处理平衡交叉设计 | 每名完成者按平衡序列接受 A、B、C 三种处理 |
| 主要终点 | 24 小时内是否症状缓解 | 二分类结局 |
| 假设类型 | 不等式检验 | 判断所关注成对比较的通过率差值是否不同于 0 |
| \(k\) | 3 | 处理数;因 \(k\) 为奇数,标准 Williams 序列数为 \(a=2k=6\) |
| \(p_A\) | 0.65 | A 处理下通过或缓解的概率 |
| \(p_B\) | 0.85 | B 处理下通过或缓解的概率 |
| \(q\) | 0.30 | A、B 两处理结果不一致比例 |
| \(\delta\) | 0.20 | \(p_B-p_A\) |
| \(\sigma\) | 0.26 | 由 \(q-\delta^2\) 推导的方差项 |
| \(\alpha\) | 0.05 | I 类错误率 |
| power | 0.80 | 目标检验效能 |
| 脱落率 | 0.10 | 预计 10% 无法完成主要终点评估 |
11.8.6 软件界面怎样填写
进入“样本量计算软件”后,在交叉设计相关卡片中选择“Williams 多处理交叉试验:二分类结局(通过率差值)”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量或功效计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
在“样本量与功效分析”中,左侧依次填写四类信息:
- “计算方法”:选择 Williams 多处理交叉设计二分类公式(R 包:TrialSize)。
- “求解目标”:选择求每序列样本量,或在已知每序列完成样本量时求检验效能。
- “主要样本量计算”:选择假设类型,包括不等式、非劣效/优效或等效性检验。
- “参数设置”:输入 \(\alpha\)、power、处理数 \(k\)、\(p_A\)、\(p_B\)、\(q\)、必要时的界值,以及预计无效/脱落率。
按照前面的三种短效鼻喷剂例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | Williams 多处理交叉设计二分类公式(R 包:TrialSize) |
| 求解目标 | 求每序列样本量 |
| 假设类型 | 不等式检验 |
| \(\alpha\) | 0.05 |
| power | 0.80 |
| 处理数 \(k\) | 3 |
| A 处理通过率 \(p_A\) | 0.65 |
| B 处理通过率 \(p_B\) | 0.85 |
| 不一致比例 \(q=p_{10}+p_{01}\) | 0.30 |
| 预计无效/脱落率 | 0.10 |
参数设置时,先看左侧面板。下图展示的是本例 Williams 二分类交叉试验的示例设置;实际使用时,应把自己研究中从文献或预实验得到的 \(k\)、\(p_A\)、\(p_B\)、\(q\)、\(\alpha\)、power 和预计无效/脱落率填入相应输入框。
各面板标题旁的问号会打开说明弹窗。弹窗内容的重点是帮助判断参数来源:例如 \(q\) 应来自所关注成对比较的配对四格表或不一致对信息,而不是普通多组率比较中的组间标准差。
11.8.7 计算方法怎样理解
本模块使用 Williams 多处理交叉设计中二分类结局的通过率差值样本量公式。对于不等式检验,软件采用的基本形式为:
\[ n= \frac{(Z_{1-\alpha/2}+Z_{1-\beta})^2\sigma} {a\Delta_{\text{eff}}^2} \]
其中 \(n\) 表示每条 Williams 平衡序列需要完成主要终点评估的受试者数,不是全部序列合计人数;\(a\) 是 Williams 随机序列数。对于偶数处理数通常 \(a=k\),对于奇数处理数通常 \(a=2k\)。对于不等式检验,\(\Delta_{\text{eff}}=|\delta|\)。
本例中 \(Z_{1-\alpha/2}=1.9600\),\(Z_{1-\beta}=0.8416\),\(\sigma=0.26\),处理数 \(k=3\),Williams 序列数 \(a=2k=6\),\(\Delta_{\text{eff}}=0.20\),代入后:
\[ n= \frac{(1.9600+0.8416)^2\times 0.26} {6\times 0.20^2} =8.50\approx 9 \]
因此,每条 Williams 平衡序列需要 9 例完成主要终点评估。三处理标准 Williams 设计通常有 6 条序列,合计总完成受试者数为:
\[ 6\times 9 = 54 \]
这就是为什么软件结果会显示“每序列 9 例”,同时报告“总完成样本量 54 例”。每名完成者都会接受 A、B、C 三种处理,但研究并不是只有一条序列;6 条 Williams 平衡序列都要有足够完成者,才能同时平衡处理顺序、时期影响和一阶残留效应。
考虑 10% 无效/脱落率后,每序列建议入组:
\[ \left\lceil \frac{9}{1-0.10} \right\rceil = 10 \]
于是实际建议入组为每条 Williams 平衡序列 10 例;6 条序列合计建议入组 60 例。软件同时会给出实际效能;本例向上取整后实际效能约为 82.18%。
点击“计算主要结果”后,右侧主面板会先显示本次计算采用的参数和主要结果,随后展示“方法一:公式计算法”的公式代入、结果解释、R 代码、R 原始输出、论文描述和参考文献。论文描述紧接在公式法结果中,是同一个方法的报告内容,不再单独作为另一张结果卡。
R 包 TrialSize 中与本模块对应的函数包括:
WilliamsDesign.Equality:不等式检验。WilliamsDesign.NIS:非劣效和优效性检验。WilliamsDesign.Equivalence:等效性检验。
这些函数的 sequence 参数使用 Williams 随机序列数,而不是处理数 \(k\)。本软件会根据处理数自动换算:偶数处理用 \(a=k\),奇数处理用 \(a=2k\)。
11.8.8 什么时候选哪一种假设类型
如果研究问题是“多种处理中任意两种处理通过率是否存在差异”,选择不等式检验。本例中比较三种短效鼻喷剂中 B 与 A 的缓解率差异,就属于这种情形。
如果研究问题是“新处理不比标准处理差超过一个临床允许界值”,选择非劣效检验。例如新鼻喷剂给药更方便,但需要证明缓解率不比标准鼻喷剂低超过 10 个百分点。
如果研究问题是“新处理要比标准处理好到超过某个临床界值”,选择优效性检验。例如新鼻喷剂缓解率至少要比标准鼻喷剂高 10 个百分点,才认为具有实际推广价值。
如果研究问题是“多种处理的通过率足够接近”,选择等效性检验。例如三种短效检测流程希望证明阳性率差值落在预设等效界值以内,可以在随访中互换使用。
界值 \(M\) 应写在通过率差值尺度上,例如 0.10 表示 10 个百分点。界值应来自临床共识、既往研究或方案预设,而不是根据软件结果调整出来。
11.8.9 论文描述怎样写
软件会在结果区生成中英文论文描述。正式写入方案或论文时,应特别说明 \(n\) 的含义是“每条 Williams 平衡序列完成受试者数”,并同时报告最终采用的 Williams 随机序列数、合计完成样本量和脱落调整后的实际入组人数。
公式法示例:
The sample size for a binary endpoint in a Williams crossover study with three treatments was estimated on the risk-difference scale using the Williams-design method described by Chow et al. (2003). Participants would be randomized equally to six balanced Williams sequences, and each completer would receive all three treatments. For the planned pairwise comparison, the assumed response rates were \(p_A=0.65\) and \(p_B=0.85\), with a discordant-response proportion \(q=0.30\), giving \(\delta=p_B-p_A=0.20\) and variance term \(\sigma=q-\delta^2=0.26\). With two-sided \(\alpha=0.05\) and target power of 80%, the calculation yielded 9 completed subjects per Williams sequence, corresponding to 54 completed subjects across the six sequences. Assuming a 10% invalid or dropout rate, 10 subjects should be enrolled in each sequence, giving a total planned enrollment of 60 subjects.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用 Chow et al. 2003 所述 Williams 设计方法,在通过率差值尺度上估算二分类结局多处理交叉设计样本量。本研究计划比较三种处理,受试者按 6 条平衡 Williams 序列随机分配,每名完成者均接受全部三种处理。设定所关注成对比较中 A 处理通过率 \(p_A=0.65\),B 处理通过率 \(p_B=0.85\),两处理结果不一致比例 \(q=0.30\),因此 \(\delta=p_B-p_A=0.20\),方差项 \(\sigma=q-\delta^2=0.26\)。在双侧 \(\alpha=0.05\)、目标检验效能 80% 的条件下,计算得到每条 Williams 序列需要 9 例完成主要终点评估,6 条序列合计总完成样本量为 54 例。考虑 10% 的无效/脱落率,实际建议每条序列入组 10 例,6 条序列合计入组 60 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
Williams 设计的序列构造可在方案随机化部分引用 Williams 的平衡设计文献。例如:
Reference: Williams EJ. Experimental Designs Balanced for the Estimation of Residual Effects of Treatments. Australian Journal of Scientific Research Series A: Physical Sciences. 1949;2(2):149-168. doi:10.1071/CH9490149.
11.8.10 敏感性分析怎么做
Williams 二分类交叉试验样本量对处理数 \(k\)、\(p_A\)、\(p_B\) 和 \(q\) 都敏感。尤其是 \(q\):如果文献没有明确报告配对四格表,正式方案中建议把 \(q\) 作为敏感性分析重点。
例如:
- power:
0.80 0.90 - 处理数 \(k\):
3 4 - \(p_A\):
0.60 0.65 - \(p_B\):
0.80 0.85 - \(q\):
0.25 0.30 0.40 - \(\alpha\):
0.05 - 脱落率:
0.10
如果 \(p_B-p_A\) 稍微变小,或 \(q\) 稍微变大就导致样本量明显增加,应回到文献和预实验重新评估参数。只有 \(p_A\) 和 \(p_B\)、没有 \(q\) 时,尤其应该做敏感性分析。如果多个成对比较都很重要,可分别填入不同处理对的 \(p_A\)、\(p_B\) 和 \(q\),观察哪一对需要的总样本量最大。
11.8.11 Word 报告下载
“下载word文档(论文中的样本量计算部分)”是单独的标签页。完成主要计算后,点击该标签页中的下载按钮,可以导出 Word 报告。报告会整理主要样本量结果、公式法描述、R 代码与原始输出;如果已经生成敏感性分析结果,也可以把敏感性分析表一起纳入报告。
11.8.12 常见问题
Q:\(k\) 是处理数还是序列数?
A:\(k\) 是处理数。软件会根据 Williams 设计规则自动换算随机序列数:偶数处理数通常 \(a=k\),奇数处理数通常 \(a=2k\)。结果中的 \(n\) 是每条 Williams 平衡序列完成受试者数,总完成样本量是 \(a\times n\)。
Q:三处理为什么有 6 条序列?是不是每个人要做 6 个时期?
A:不是。三处理时每名完成者仍然只接受 A、B、C 三个处理时期。6 条序列是随机化分组层面的安排,用来同时平衡时期位置和有方向的一阶残留效应。三处理常见序列为 ABC、BCA、CAB、CBA、ACB、BAC。
Q:\(p_A\)、\(p_B\) 和 \(q\) 是三种处理的总体参数吗?
A:不是。它们来自所关注的某一个成对比较,例如 B 与 A。若主要比较 C 与 A,应重新提取 C、A 这一对的 \(p_A\)、\(p_B\) 和 \(q\)。多个成对比较都重要时,应按最需要样本量的比较进行规划。
Q:这个模块能不能替代 2×2 AB/BA 二分类交叉模块?
A:不建议。AB/BA 模块用于两种处理、两个序列;Williams 模块用于三种及以上处理的平衡交叉设计。两者界面结构和参数含义相似,但随机序列数、总样本量口径和设计解释不同。
Q:治疗持续时间很长,或者前一次处理可能影响后一次,还能用 Williams 设计吗?
A:要谨慎。Williams 交叉设计通常适合病情相对稳定、处理效应较短、清洗期可以合理设置的场景。如果存在明显残留效应、疾病自然进展很快,或处理可能产生不可逆影响,应优先考虑平行随机对照设计。
11.9 2×2 交叉设计:二分类结局(通过率的差值)
11.9.1 先判断是不是这个模块
本模块用于 2×2 交叉设计中的二分类主要结局。研究对象按 1:1 随机进入 AB 或 BA 两个序列;AB 序列第 1 时期接受 A 处理、第 2 时期接受 B 处理,BA 序列则先接受 B、再接受 A。每名完成者都会在 A、B 两种处理下各贡献一次二分类结局,例如“缓解/未缓解”“阳性/阴性”“达标/未达标”。
这里的关键仍然不是“同一批患者”四个字,而是:每名完成者是否都会接受 A 和 B 两种处理,并且研究方案是否采用 AB 与 BA 两个随机序列。 交叉设计通过自身对照减少个体差异影响,但研究在随机化和样本量报告上仍然有两个序列。
最容易混淆的几种情景如下:
| 情景 | 医学研究例子 | 应使用的模块 |
|---|---|---|
| 同一批受试者随机进入 AB 或 BA 序列,每名完成者先后接受两种短效处理,结局为是/否 | 过敏性鼻炎患者随机进入 AB 或 BA 序列,分别使用标准鼻喷剂和新鼻喷剂,每个时期记录 24 小时内是否达到症状缓解 | 本模块 |
| 同一批受试者接受 A、B 两种处理,但结局是连续数值 | 慢性腰痛患者交叉使用两种短效镇痛贴,两次处理后均记录 0 到 100 mm VAS 疼痛评分 | 不用本模块,应使用“2×2 交叉设计(连续结局)” |
| 两组不同受试者各自只接受一种处理,结局为发生/未发生 | 治疗组接受新药,对照组接受标准治疗,12 周后比较缓解率 | 不用本模块,应使用“两组独立样本率的比较” |
| 一组受试者只有治疗前和治疗后两次二分类测量 | 所有患者接受同一种康复治疗,比较治疗前后是否达标 | 不用本模块,应使用配对比例或 McNemar 相关模块 |
| 三种及以上处理按多时期序列轮换 | A、B、C 三种检测流程采用 Williams 设计比较阳性率 | 不用本模块,应使用多处理交叉设计相关模块 |
本模块把主要效应量定义为通过率差值:
\[ \delta = p_B - p_A \]
其中 \(p_A\) 是 A 处理下通过或缓解的概率,\(p_B\) 是 B 处理下通过或缓解的概率。软件当前保留“通过率差值”这个绝对效应尺度作为二分类交叉设计的入口,因为它最容易从文献和预实验中解释,也最适合在方案中说明“希望提高多少百分点”。
11.9.2 研究例子:两种鼻喷剂的 AB/BA 交叉试验
假设耳鼻喉科准备比较标准鼻喷剂 A 与新型短效鼻喷剂 B 对过敏性鼻炎急性症状的缓解效果。每名患者参加两个治疗时期,每个时期使用一种鼻喷剂;两个时期之间设置足够清洗期,避免前一时期药物影响后一时期结局。每个时期结束时记录“24 小时内是否达到症状缓解”,结局只有“缓解/未缓解”两类。
受试者按 1:1 随机进入两个序列:
- AB 序列:第 1 时期使用标准鼻喷剂 A,第 2 时期使用新鼻喷剂 B。
- BA 序列:第 1 时期使用新鼻喷剂 B,第 2 时期使用标准鼻喷剂 A。
本研究真正关心的是同一批患者在两种鼻喷剂下的缓解率是否不同,而不是简单比较第 1 时期和第 2 时期。AB 与 BA 两个序列的基本结构如下图所示。
11.9.3 第一步:明确二分类主要终点和通过率差值
样本量计算前,先把主要终点写成一个清楚的临床问题。本例主要终点是“每个治疗时期 24 小时内是否达到症状缓解”。若 A 是标准鼻喷剂、B 是新鼻喷剂,则:
\[ p_A = P(\text{A 处理下缓解}), \qquad p_B = P(\text{B 处理下缓解}) \]
研究者希望检出的通过率差值为:
\[ \delta = p_B - p_A \]
假设既往资料或预实验提示,标准鼻喷剂 A 的缓解率约为 65%,新鼻喷剂 B 的缓解率约为 85%,则:
\[ p_A=0.65,\quad p_B=0.85,\quad \delta=0.85-0.65=0.20 \]
这里的 0.20 表示希望检出“新处理缓解率比标准处理高 20 个百分点”。这个差值应来自临床意义、既往研究或预实验,而不是根据软件结果反复调出来。
11.9.4 第二步:从配对四格表估计不一致比例 \(q\)
二分类交叉设计不能只填写 \(p_A\) 和 \(p_B\)。因为同一名受试者在 A、B 两种处理下的结果是配对的,样本量还取决于两次结果的一致程度。本模块要求输入:
\[ q=p_{10}+p_{01} \]
其中 \(p_{10}\) 表示“A 处理通过、B 处理未通过”的比例,\(p_{01}\) 表示“A 处理未通过、B 处理通过”的比例。\(q\) 越大,说明同一受试者在两种处理下结果越常不一致;\(q\) 越小,说明两种处理下结果多数相同。
如果文献或预实验给出了配对四格表,最推荐从表中直接提取参数:
| 配对结果 | B 处理通过 | B 处理未通过 |
|---|---|---|
| A 处理通过 | \(n_{11}\) | \(n_{10}\) |
| A 处理未通过 | \(n_{01}\) | \(n_{00}\) |
总完成例数为:
\[ N=n_{11}+n_{10}+n_{01}+n_{00} \]
于是:
\[ p_A=\frac{n_{11}+n_{10}}{N},\qquad p_B=\frac{n_{11}+n_{01}}{N},\qquad q=\frac{n_{10}+n_{01}}{N} \]
假设一项预实验中 100 名患者完成两个时期,结果如下:A、B 均缓解 60 人;A 缓解而 B 未缓解 5 人;A 未缓解而 B 缓解 25 人;A、B 均未缓解 10 人。也就是:
\[ n_{11}=60,\quad n_{10}=5,\quad n_{01}=25,\quad n_{00}=10 \]
则:
\[ p_A=\frac{60+5}{100}=0.65,\qquad p_B=\frac{60+25}{100}=0.85,\qquad q=\frac{5+25}{100}=0.30 \]
软件会根据 \(p_A\)、\(p_B\) 和 \(q\) 自动计算方差项:
\[ \sigma=q-\delta^2 \]
本例中:
\[ \sigma=0.30-0.20^2=0.26 \]
如果文献只报告了 A、B 两个处理的缓解率,却没有报告配对四格表、McNemar 表、不一致对数量或个体层面的配对结果,就不能唯一确定 \(q\)。这种情况下不应随便填一个最有利的数字,而应补找原文表格、联系作者、参考同类预实验,或用多个合理的 \(q\) 值做敏感性分析。
11.9.5 第三步:设定错误风险、序列数和脱落率
\(\alpha\) 是 I 类错误率,医学研究中常用 0.05。检验效能 \(1-\beta\),也常写作 power,表示当真实通过率差值达到预设水平时,研究能够检出该差异的概率。常用取值为 80% 或 90%。
2×2 AB/BA 交叉设计有两个随机序列,因此序列数 \(s=2\)。虽然底层公式中有序列数参数,但当前模块入口面向 2×2 AB/BA 设计,正式使用时通常填 2;三种及以上处理或更复杂序列不建议在这里简单把 \(s\) 改成 3 或 4。
考虑患者可能未完成第二时期、清洗期后退出、主要终点缺失或不符合主要分析集,预计无效/脱落率设为 10%。
到这里,研究设计已经转化为一组可计算参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 设计 | AB/BA 两序列 | 每名完成者先后接受 A、B 两种处理 |
| 主要终点 | 24 小时内是否症状缓解 | 二分类结局 |
| 假设类型 | 不等式检验 | 判断两种处理通过率差值是否不同于 0 |
| \(p_A\) | 0.65 | A 处理下通过或缓解的概率 |
| \(p_B\) | 0.85 | B 处理下通过或缓解的概率 |
| \(q\) | 0.30 | 两处理结果不一致比例 |
| \(\delta\) | 0.20 | \(p_B-p_A\) |
| \(\sigma\) | 0.26 | 由 \(q-\delta^2\) 推导的方差项 |
| \(s\) | 2 | AB 与 BA 两个序列 |
| \(\alpha\) | 0.05 | I 类错误率 |
| power | 0.80 | 目标检验效能 |
| 脱落率 | 0.10 | 预计 10% 无法完成主要终点评估 |
11.9.6 软件界面怎样填写
进入“样本量计算软件”后,在交叉设计相关卡片中选择“2×2 交叉设计(AB/BA):二分类结局(通过率的差值)”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量或功效计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
在“样本量与功效分析”中,左侧依次填写四类信息:
- “计算方法”:选择通过率差值交叉设计公式(R 包:TrialSize)。
- “求解目标”:选择求每序列样本量,或在已知每序列完成样本量时求检验效能。
- “主要样本量计算”:选择假设类型,包括不等式、非劣效/优效或等效性检验。
- “参数设置”:输入 \(\alpha\)、power、序列数 \(s\)、\(p_A\)、\(p_B\)、\(q\)、必要时的界值,以及预计无效/脱落率。
按照前面的鼻喷剂例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 通过率差值交叉设计公式(R 包:TrialSize) |
| 求解目标 | 求每序列样本量 |
| 假设类型 | 不等式检验 |
| \(\alpha\) | 0.05 |
| power | 0.80 |
| 序列数 \(s\) | 2 |
| A 处理通过率 \(p_A\) | 0.65 |
| B 处理通过率 \(p_B\) | 0.85 |
| 不一致比例 \(q=p_{10}+p_{01}\) | 0.30 |
| 预计无效/脱落率 | 0.10 |
参数设置时,先看左侧面板。下图展示的是本例二分类交叉试验的示例设置;实际使用时,应把自己研究中从文献或预实验得到的 \(p_A\)、\(p_B\)、\(q\)、\(\alpha\)、power 和预计无效/脱落率填入相应输入框。
各面板标题旁的问号会打开说明弹窗。弹窗内容的重点是帮助判断参数来源:例如 \(q\) 应来自配对四格表或不一致对信息,而不是普通两组率比较中的组间标准差。
11.9.7 计算方法怎样理解
本模块使用二分类结局交叉设计的通过率差值样本量公式。对于不等式检验,软件采用的基本形式为:
\[ n= \frac{(Z_{1-\alpha/2}+Z_{1-\beta})^2\sigma} {s\Delta_{\text{eff}}^2} \]
其中 \(n\) 表示每个随机序列需要完成主要终点评估的受试者数,不是两个序列合计人数;\(s\) 是序列数,2×2 AB/BA 设计中 \(s=2\)。对于不等式检验,\(\Delta_{\text{eff}}=|\delta|\)。本例中 \(Z_{1-\alpha/2}=1.9600\),\(Z_{1-\beta}=0.8416\),\(\sigma=0.26\),\(\Delta_{\text{eff}}=0.20\),代入后:
\[ n= \frac{(1.9600+0.8416)^2\times 0.26} {2\times 0.20^2} =25.51\approx 26 \]
因此,AB 序列需要 26 例完成主要终点评估,BA 序列也需要 26 例完成主要终点评估;两个序列合计总完成受试者数为:
\[ 26 + 26 = 52 \]
这就是为什么软件结果会显示“每序列 26 例”,同时报告“总完成样本量 52 例”。交叉设计让每名完成者都接受两种处理,但研究仍然需要 AB 与 BA 两个随机序列都达到足够完成例数。
考虑 10% 无效/脱落率后,每序列建议入组:
\[ \left\lceil \frac{26}{1-0.10} \right\rceil = 29 \]
于是实际建议总入组为 AB 序列 29 例、BA 序列 29 例,合计 58 例。
点击“计算主要结果”后,右侧主面板会先显示本次计算采用的参数和主要结果,随后展示“方法一:公式计算法”的公式代入、结果解释、R 代码、R 原始输出、论文描述和参考文献。论文描述紧接在公式法结果中,是同一个方法的报告内容,不再单独作为另一张结果卡。
11.9.8 什么时候选哪一种假设类型
如果研究问题是“两种处理通过率是否存在差异”,选择不等式检验。本例中比较两种鼻喷剂的缓解率差异,就属于这种情形。
如果研究问题是“新处理不比标准处理差超过一个临床允许界值”,选择非劣效检验。例如新鼻喷剂在缓解率上允许最多低 10 个百分点,只要不低于这个界值就可接受。
如果研究问题是“新处理要比标准处理好到超过某个临床界值”,选择优效性检验。例如新鼻喷剂缓解率至少要比标准鼻喷剂高 10 个百分点,才认为具有实际推广价值。
如果研究问题是“两种处理通过率足够接近”,选择等效性检验。例如两种短效检测流程希望证明阳性率差值落在预设等效界值以内。
界值 \(M\) 应写在通过率差值尺度上,例如 0.10 表示 10 个百分点。界值应来自临床共识、既往研究或方案预设,而不是根据软件结果调整出来。
11.9.9 论文描述怎样写
软件会在结果区生成中英文论文描述。正式写入方案或论文时,应特别说明 \(n\) 的含义是“每序列完成受试者数”,并同时报告两个序列合计完成样本量和脱落调整后的实际入组人数。
公式法示例:
The sample size for a binary endpoint in a two-treatment two-sequence crossover study was estimated on the risk-difference scale using the crossover-design method described by Chow et al. (2003). Participants would be randomized equally to the AB and BA sequences, and each completer would receive both treatments. The assumed response rates were \(p_A=0.65\) and \(p_B=0.85\), with a discordant-response proportion \(q=0.30\), giving \(\delta=p_B-p_A=0.20\) and variance term \(\sigma=q-\delta^2=0.26\). With \(s=2\) sequences, two-sided \(\alpha=0.05\), and target power of 80%, the calculation yielded 26 completed subjects per sequence, corresponding to 52 completed subjects across the two sequences. Assuming a 10% invalid or dropout rate, 29 subjects should be enrolled in each sequence, giving a total planned enrollment of 58 subjects.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用 Chow et al. 2003 所述交叉设计方法,在通过率差值尺度上估算 2×2 交叉设计二分类结局样本量。受试者按 1:1 随机分配到 AB 与 BA 两个序列,每名完成者均接受 A、B 两种处理。设定 A 处理通过率 \(p_A=0.65\),B 处理通过率 \(p_B=0.85\),两处理结果不一致比例 \(q=0.30\),因此 \(\delta=p_B-p_A=0.20\),方差项 \(\sigma=q-\delta^2=0.26\)。在序列数 \(s=2\)、双侧 \(\alpha=0.05\)、目标检验效能 80% 的条件下,计算得到每个序列需要 26 例完成主要终点评估,两个序列合计总完成样本量为 52 例。考虑 10% 的无效/脱落率,实际建议每个序列入组 29 例,两个序列合计入组 58 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
11.9.10 敏感性分析怎么做
二分类交叉试验样本量对 \(p_A\)、\(p_B\) 和 \(q\) 都敏感。尤其是 \(q\):如果文献没有明确报告配对四格表,正式方案中建议把 \(q\) 作为敏感性分析重点。
例如:
- power:
0.80 0.90 - \(p_A\):
0.60 0.65 - \(p_B\):
0.80 0.85 - \(q\):
0.25 0.30 0.40 - \(\alpha\):
0.05 - 脱落率:
0.10
如果 \(q\) 在合理范围内变化时样本量明显变化,说明研究规模对配对结果相关性的假设很敏感。正式方案中应说明主分析参数来自哪篇文献或哪项预实验,并把敏感性分析作为可行性判断的一部分。
11.9.11 Word 报告下载
“下载word文档(论文中的样本量计算部分)”是单独的标签页。完成主要计算后,点击该标签页中的下载按钮,可以导出 Word 报告。报告会整理主要样本量结果、公式法描述、R 代码与原始输出;如果已经生成敏感性分析结果,也可以把敏感性分析表一起纳入报告。
11.9.12 常见问题
Q:\(q\) 是标准差吗?为什么两个率的差值还要填 \(q\)?
A:\(q\) 不是标准差,而是同一名受试者在 A、B 两处理下结果不一致的比例。二分类交叉设计是配对资料,样本量不仅取决于 \(p_A\) 和 \(p_B\) 的差值,也取决于同一受试者两次结果的相关性;\(q\) 正是用来反映这种配对结构的信息。
Q:文献只给了 A 处理通过率和 B 处理通过率,没有给配对四格表,怎么办?
A:这种情况下不能唯一确定 \(q\)。建议优先查找原文补充材料、McNemar 表、不一致对数量或个体层面的配对结果;如果仍找不到,应选取多个合理的 \(q\) 值做敏感性分析,并在方案中说明参数来源和不确定性。
Q:每名患者都接受 A 和 B 两种处理,为什么总完成样本量还要乘以 2?
A:因为软件结果中的 \(n\) 是每个随机序列的完成受试者数。AB 序列需要 \(n\) 例,BA 序列也需要 \(n\) 例,总完成受试者数是 \(2n\)。交叉设计的“自身对照”体现在每名完成者接受两种处理,但随机序列仍然有两个。
Q:这个模块能不能用于 3×3 或更多处理的交叉设计?
A:不建议。当前入口定位为 2×2 AB/BA 交叉设计。三种及以上处理涉及更多序列、时期、顺序平衡和残留效应问题,应使用专门的多处理交叉设计模块或单独进行统计设计。
Q:治疗持续时间很长,或者前一次处理可能影响后一次,还能用这个模块吗?
A:要谨慎。交叉设计通常适合病情相对稳定、处理效应较短、清洗期可以合理设置的场景。如果存在明显残留效应、疾病自然进展很快,或处理可能产生不可逆影响,应优先考虑平行随机对照设计。
11.10 2×2 交叉设计:个体内变异性
11.10.1 先判断是不是这个模块
本模块用于 2×2 AB/BA 交叉设计中比较两个处理的个体内变异性。这里的“个体内变异性”不是治疗后某一次结局值的普通组内标准差,而是同一受试者在同一处理下重复测量时的波动程度。它常见于制剂一致性评价、重复测量的药代动力学指标、检测方法稳定性比较、实验室方法学研究或短效干预的重复反应评价。
典型设计仍然是 AB 与 BA 两个序列:AB 序列先接受 A/R 处理,再接受 B/T 处理;BA 序列顺序相反。每名完成者在每个处理时期内至少需要重复测量 \(m\) 次,才能估计处理内的个体内变异性。如果每个处理时期只测一次,通常不能用本模块来比较个体内变异性。
最容易混淆的几种情景如下:
| 情景 | 医学研究例子 | 应使用的模块 |
|---|---|---|
| 同一批受试者随机进入 AB 或 BA 序列,每个处理时期内重复测量同一指标,想比较 T 与 R 的个体内波动 | 健康受试者交叉接受试验制剂 T 和参比制剂 R,每个时期重复测量短时 PK 指标或仪器检测值,比较个体内 CV 是否不同 | 本模块 |
| 同一批受试者接受 A、B 两处理,但只比较平均疗效差异 | 慢性腰痛患者交叉使用两种短效镇痛贴,两次处理后比较平均 VAS 疼痛评分 | 不用本模块,应使用“2×2 交叉设计(连续结局)” |
| 两组不同受试者各自只接受一种处理,比较两组方差 | 一组使用新检测方法,另一组使用标准方法,比较组间测量波动 | 不用本模块;这不是交叉设计 |
| 只有治疗前后两次测量,没有 AB/BA 随机序列 | 所有患者先后接受同一检测流程,比较前后波动 | 不用本模块;应考虑配对或重复测量相关模块 |
因此,判断本模块的关键是:是否为 AB/BA 交叉设计,是否每名完成者在每个处理下都有重复测量,研究目的是否是比较 T 与 R 的个体内变异性。
11.10.2 研究例子:两种短效制剂的个体内变异性比较
假设药物研究团队准备比较试验制剂 T 与参比制剂 R 的个体内变异性。研究对象按 1:1 随机进入 AB 或 BA 两个序列;每名完成者在两个处理时期分别接受 T 与 R。每个处理时期内重复测量 2 次某个短时 PK 指标或实验室指标,用于估计该处理在同一受试者内的波动。
受试者按 1:1 随机进入两个序列:
- AB 序列:第 1 时期接受 R,第 2 时期接受 T。
- BA 序列:第 1 时期接受 T,第 2 时期接受 R。
AB 与 BA 的随机序列结构仍然与普通两处理交叉试验一致:
本研究真正关心的不是 T 与 R 的平均反应是否不同,而是 T 的个体内 SD 或 CV 是否与 R 不同,或是否没有比 R 大到超过预设界值。
11.10.3 第一步:确定个体内变异性参数
本模块要求输入 T 处理和 R 处理的个体内 SD 或 CV。软件界面让用户填写 SD/CV,是因为文献和预实验中最常见的报告方式通常是 within-subject SD、intra-subject SD、within-subject CV 或 intra-subject CV。软件内部会自动平方,把它转换为 TrialSize 函数需要的个体内方差:
\[ \sigma_T^2=(SD_T)^2,\qquad \sigma_R^2=(SD_R)^2 \]
假设预实验显示,T 处理个体内 CV 约为 0.30,R 处理个体内 CV 约为 0.45,则本例填写:
\[ SD_T/CV_T=0.30,\qquad SD_R/CV_R=0.45 \]
软件内部使用:
\[ \sigma_T^2=0.30^2=0.09,\qquad \sigma_R^2=0.45^2=0.2025 \]
这里的参数应来自重复测量、重复交叉或同类方法学研究。普通平行组治疗后 SD 不能直接替代个体内 SD/CV。
11.10.4 第二步:确定重复测量次数和假设类型
\(m\) 表示每名受试者在每个处理下的重复测量次数。本例中每个处理时期重复测量 2 次,因此:
\[ m=2 \]
本模块提供三种假设类型:
| 假设类型 | 适用问题 | 界值填写 |
|---|---|---|
| 变异性不等式检验 | 判断 T 与 R 的个体内变异性是否不同 | 不需要额外界值 |
| 变异性非劣效/优效检验 | 判断 T 的个体内变异性是否没有比 R 大到超过预设界值,或是否更小 | 填写 SD/CV 比值界值 \(M\) |
| 变异性等效性检验 | 判断 T 与 R 的个体内变异性是否足够接近 | 填写 \(M>1\),例如等效范围为 \(1/M\) 到 \(M\) |
若研究只想判断两种处理的个体内变异性是否存在差异,可选择不等式检验。本例采用不等式检验,不额外填写界值。
11.10.5 第三步:设定错误风险、效能和脱落率
\(\alpha\) 是 I 类错误率,医学研究中常用 0.05。检验效能 \(1-\beta\),也常写作 power,常用取值为 80% 或 90%。本例采用不等式检验,\(\alpha=0.05\),目标检验效能 80%,预计 10% 受试者不能完成两个处理时期或重复测量不完整。
到这里,研究设计已经转化为一组可计算参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 设计 | AB/BA 两序列 | 每名完成者接受 T 与 R 两个处理 |
| 研究目的 | 个体内变异性比较 | 比较 T 与 R 的同一受试者内波动 |
| 假设类型 | 变异性不等式检验 | 判断两处理个体内变异性是否不同 |
| \(SD_T/CV_T\) | 0.30 | T 处理个体内 SD 或 CV |
| \(SD_R/CV_R\) | 0.45 | R 处理个体内 SD 或 CV |
| \(m\) | 2 | 每个处理时期重复测量次数 |
| \(\alpha\) | 0.05 | I 类错误率 |
| power | 0.80 | 目标检验效能 |
| 脱落率 | 0.10 | 预计 10% 无法完成主要终点评估 |
11.10.6 软件界面怎样填写
进入“样本量计算软件”后,在交叉设计相关卡片中选择“2×2 交叉设计(AB/BA):个体内变异性”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量或功效计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
按照前面的例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 个体内变异性交叉设计公式(R 包:TrialSize) |
| 求解目标 | 求每序列样本量 |
| 假设类型 | 变异性不等式检验 |
| \(\alpha\) | 0.05 |
| power | 0.80 |
| 每名受试者每处理重复测量次数 \(m\) | 2 |
| T 处理个体内 SD/CV | 0.30 |
| R 处理个体内 SD/CV | 0.45 |
| 预计无效/脱落率 | 0.10 |
各面板标题旁的问号会打开说明弹窗。弹窗内容会根据“求解目标”和“假设类型”变化:选择不等式检验时,重点解释 T/R 个体内变异性和 \(m\);选择非劣效或等效时,才会出现 SD/CV 比值界值 \(M\) 的解释。
11.10.7 计算方法怎样理解
本模块调用 R 包 TrialSize 的 CrossOver.ISV.Equality、CrossOver.ISV.NIS 和 CrossOver.ISV.Equivalence 对应的 F 分布公式。需要特别注意:TrialSize 的 ISV 函数本身会打印一列候选 \(n\) 和 F 分布判定阈值,而不是直接返回最终样本量。因此本软件按同一源码公式扫描,报告首次达到目标 power 的每序列完成样本量。
对于不等式检验,本模块使用的自由度为:
\[ df=(2n-2)(m-1) \]
不等式检验的判定比值可按较小方差比理解:
\[ R=\min\left(\frac{\sigma_T^2}{\sigma_R^2},\frac{\sigma_R^2}{\sigma_T^2}\right) \]
本例中:
\[ R=\min\left(\frac{0.09}{0.2025},\frac{0.2025}{0.09}\right)=0.4444 \]
软件按 F 分布阈值寻找首次满足目标效能的 \(n\)。本例计算得到每个序列需要 26 例完成主要终点评估,此时:
\[ df=(2\times 26-2)(2-1)=50 \]
F 分布判定阈值约为 0.4492,实际效能约为 81.03%。因此,AB 序列需要 26 例,BA 序列也需要 26 例,两个序列合计总完成受试者数为:
\[ 26+26=52 \]
考虑 10% 无效/脱落率后,每序列建议入组:
\[ \left\lceil \frac{26}{1-0.10} \right\rceil = 29 \]
于是实际建议总入组为 AB 序列 29 例、BA 序列 29 例,合计 58 例。
11.10.8 什么时候选哪一种假设类型
如果研究问题是“两种处理的个体内变异性是否不同”,选择变异性不等式检验。
如果研究问题是“试验处理 T 的个体内变异性不比参比处理 R 大到超过界值”,选择变异性非劣效检验。例如 \(M=1.25\) 可解释为希望证明 T 的个体内 SD/CV 没有超过 R 的 1.25 倍。
如果研究问题是“两种处理的个体内变异性足够接近”,选择变异性等效性检验。例如 \(M=2\) 可解释为希望 SD/CV 比值落在 \(1/2\) 到 \(2\) 的范围内。
界值 \(M\) 应来自方案预设、药学/方法学标准、监管要求或专业共识,而不是根据软件结果反复调整。
11.10.9 论文描述怎样写
软件会在结果区生成中英文论文描述。正式写入方案或论文时,应说明 \(n\) 是每序列完成受试者数,并交代 T/R 个体内 SD 或 CV、重复测量次数 \(m\)、总完成样本量和脱落调整后的实际入组人数。
公式法示例:
The sample size for comparing intra-subject variability in a two-treatment crossover design was estimated using the F-distribution method implemented by TrialSize (Chow et al. 2003). Participants would be randomized equally to the AB and BA sequences. The assumed intra-subject SD/CV values were 0.30 for treatment T and 0.45 for treatment R, with two repeated measurements per treatment period. With \(\alpha=0.05\) and target power of 80%, the calculation yielded 26 completed subjects per sequence, corresponding to 52 completed subjects across the two sequences. Assuming a 10% invalid or dropout rate, 29 subjects should be enrolled in each sequence, giving a total planned enrollment of 58 subjects.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用 TrialSize 包所对应的 F 分布方法(Chow et al. 2003)估算两处理交叉设计个体内变异性比较的样本量。受试者按 1:1 随机分配到 AB 与 BA 两个序列。设定 T 处理个体内 SD/CV = 0.30,R 处理个体内 SD/CV = 0.45,每个处理时期重复测量 \(m=2\) 次,\(\alpha=0.05\),目标检验效能 80%。计算得到每个序列需要 26 例完成主要终点评估,两个序列合计总完成受试者数为 52 例。考虑 10% 的无效/脱落率,实际建议每个序列入组 29 例,两个序列合计入组 58 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
11.10.10 敏感性分析怎么做
个体内变异性样本量对 T/R 变异性比值、重复测量次数 \(m\) 和界值 \(M\) 很敏感。点击“敏感性分析”标签页,可以一次输入多个参数值,软件会生成所有组合的每序列完成样本量、总完成样本量和脱落调整后入组人数。
例如:
- power:
0.80 0.90 - \(m\):
2 - T 处理个体内 SD/CV:
0.25 0.30 0.35 - R 处理个体内 SD/CV:
0.40 0.45 0.50 - \(\alpha\):
0.05 - 脱落率:
0.10
如果 T/R 变异性稍微接近界值就导致样本量明显增加,应重新检查重复测量次数、测量流程、清洗期、预实验参数和主要研究目的。
11.10.11 常见问题
Q:界面里填写的是 SD 还是方差?
A:界面填写 SD 或 CV。软件内部会自动平方后得到方差,再传入 TrialSize 对应公式。这样更符合文献和预实验常见报告方式。
Q:如果每个处理时期只测一次,能不能用这个模块?
A:通常不适合。个体内变异性需要同一受试者在同一处理下有重复测量;本模块要求 \(m\ge2\)。
Q:个体内变异性和平均处理差异能一起用一个样本量吗?
A:不建议直接混用。平均处理差异和个体内变异性是不同研究目标,参数和公式不同。若研究同时有两个主要目标,应分别计算并取满足主要研究目的的设计方案。
Q:这个模块能证明两种制剂生物等效吗?
A:不能单独证明。个体内变异性比较只是 BE 或方法学评价中的一个方面。正式生物等效还需要按 ABE、IBE、PBE 等对应设计和监管要求计算。
11.11 交叉试验残留效应
11.11.1 先判断是不是这个模块
本模块用于 AB/BA 两序列交叉设计中评估残留效应,也就是前一时期处理对后一时期结局的影响。TrialSize 中的 Carry.Over 函数将其表述为 2×2 交叉设计中的 treatment-by-period interaction 或 carry-over effect 检验,关注 AB 与 BA 两个序列的残留效应差异是否不等于 0。
这个模块的定位要特别谨慎:它是方案设计评估和敏感性判断工具,不是“检验一下没显著就说明没有残留效应”的保证书。 正式交叉试验能否成立,首先取决于处理是否短效、疾病是否稳定、清洗期是否足够、周期长度是否合理,以及主要终点是否可能被前一处理长期影响。
最容易混淆的几种情景如下:
| 情景 | 医学研究例子 | 应使用的模块 |
|---|---|---|
| 已计划 AB/BA 两序列交叉设计,想评估若存在一定残留效应差异,需要多少样本才可能检出 | 两种短效镇痛处理交叉试验中,研究者担心第 1 时期镇痛效应延续到第 2 时期,进行 carry-over effect 敏感性评估 | 本模块 |
| 主要目的是比较两处理平均疗效差异 | 交叉使用两种短效镇痛贴,比较处理后 2 小时 VAS 平均差异 | 不用本模块,应使用“2×2 交叉设计(连续结局)” |
| 主要目的是比较二分类通过率差值 | 交叉使用两种鼻喷剂,比较是否症状缓解 | 不用本模块,应使用“2×2 交叉设计:二分类结局” |
| 处理效应可能长期不可逆或疾病自然进展很快 | 手术、长期免疫治疗、疾病快速恶化场景 | 通常不建议采用交叉设计,应优先考虑平行随机对照 |
11.11.2 研究例子:短效镇痛处理的残留效应评估
假设疼痛科准备开展两种短效镇痛处理的 AB/BA 交叉试验。每名患者接受两个处理时期:一个时期使用标准短效镇痛贴 A,另一个时期使用新型短效镇痛贴 B。两个时期之间设置清洗期。研究团队主要关心平均镇痛效果,但在方案论证阶段还希望评估:如果第 1 时期处理对第 2 时期仍有残留影响,需要多大样本才可能检出两序列残留效应差异?
AB 与 BA 两序列结构如下:
本模块的计算对象不是平均处理差异,而是 AB 与 BA 两序列的残留效应差异:
\[ \gamma \]
其中 \(\gamma\) 表示研究者希望检出的两序列残留效应差异。数值越小,表示希望检出的残留效应越细微,所需样本量通常越大。
11.11.3 第一步:明确残留效应差异和变异参数
TrialSize::Carry.Over 需要输入三个关键设计参数:
| 参数 | 含义 |
|---|---|
| \(\sigma_{AB}\) | AB 序列残留效应估计的变异参数 |
| \(\sigma_{BA}\) | BA 序列残留效应估计的变异参数 |
| \(\gamma\) | 希望检出的两序列残留效应差异 |
本例采用 TrialSize 帮助文档中的示例参数:
\[ \sigma_{AB}=2.3,\qquad \sigma_{BA}=2.4,\qquad \gamma=0.89 \]
这些参数应来自既往同类交叉研究、预实验、方法学文献或方案统计学假设。残留效应本身往往难以从普通文献中稳定估计,因此正式方案中更应把该计算作为敏感性分析,而不是唯一依据。
11.11.4 第二步:设定错误风险、效能和脱落率
\(\alpha\) 是 I 类错误率。本例沿用 TrialSize 帮助文档示例,设定 \(\alpha=0.025\),目标检验效能 80%,预计 10% 受试者不能完成两个时期或主要终点不可用。
到这里,研究设计已经转化为一组可计算参数:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| 设计 | AB/BA 两序列 | 每名完成者接受 A、B 两种处理 |
| 研究目的 | 残留效应差异评估 | 检验 AB 与 BA 两序列 carry-over effect 是否不同 |
| \(\sigma_{AB}\) | 2.3 | AB 序列残留效应变异参数 |
| \(\sigma_{BA}\) | 2.4 | BA 序列残留效应变异参数 |
| \(\gamma\) | 0.89 | 希望检出的两序列残留效应差异 |
| \(\alpha\) | 0.025 | I 类错误率 |
| power | 0.80 | 目标检验效能 |
| 脱落率 | 0.10 | 预计 10% 无法完成主要终点评估 |
11.11.5 软件界面怎样填写
进入“样本量计算软件”后,在交叉设计相关卡片中选择“交叉试验残留效应”。进入模块后,上方会显示当前模块名称;左上角按钮可“返回样本量计算主页面”。
主页面包含四个标签页:
- “使用说明”:当前这份教程。
- “样本量与功效分析”:完成主要样本量或功效计算。
- “敏感性分析”:批量改变关键参数,查看样本量变化。
- “下载word文档(论文中的样本量计算部分)”:导出可插入论文 Methods 的 Word 报告。
按照前面的例子,可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 残留效应检验公式(R 包:TrialSize) |
| 求解目标 | 求每序列样本量 |
| 假设类型 | 残留效应差异检验 |
| \(\alpha\) | 0.025 |
| power | 0.80 |
| \(\sigma_{AB}\) | 2.3 |
| \(\sigma_{BA}\) | 2.4 |
| \(\gamma\) | 0.89 |
| 预计无效/脱落率 | 0.10 |
各面板标题旁的问号会打开说明弹窗。弹窗会反复提醒:本模块结果用于设计评估和敏感性判断,不能替代充分清洗期。
11.11.6 计算方法怎样理解
本模块使用 TrialSize::Carry.Over 对应的正态近似公式:
\[ n= \frac{(Z_{1-\alpha/2}+Z_{1-\beta})^2(\sigma_{AB}+\sigma_{BA})} {\gamma^2} \]
其中 \(n\) 表示每个随机序列需要完成主要终点评估的受试者数,不是两个序列合计人数。AB 与 BA 两个序列 1:1 分配时,总完成受试者数为 \(2n\)。
本例中 \(Z_{1-\alpha/2}=2.2414\),\(Z_{1-\beta}=0.8416\),\(\sigma_{AB}=2.3\),\(\sigma_{BA}=2.4\),\(\gamma=0.89\),代入后:
\[ n= \frac{(2.2414+0.8416)^2\times(2.3+2.4)} {0.89^2} =56.40\approx57 \]
因此,AB 序列需要 57 例完成主要终点评估,BA 序列也需要 57 例完成主要终点评估;两个序列合计总完成受试者数为:
\[ 57+57=114 \]
考虑 10% 无效/脱落率后,每序列建议入组:
\[ \left\lceil \frac{57}{1-0.10} \right\rceil = 64 \]
于是实际建议总入组为 AB 序列 64 例、BA 序列 64 例,合计 128 例。软件同时会反算向上取整后的实际效能,本例约为 80.46%。
11.11.7 怎样解释残留效应检验结果
残留效应检验的解释要比普通样本量结果更谨慎。它回答的是:“在当前参数假设下,如果真实存在 \(\gamma\) 这么大的两序列残留效应差异,本研究有多大概率检出它。”它不回答:“研究结束后检验不显著,是否就证明没有残留效应。”
正式方案中应优先从设计上降低残留效应风险:
- 选择处理效应较短、可逆的干预。
- 设置有临床和药理依据的清洗期。
- 避免疾病快速进展或处理不可逆的场景。
- 预先定义主要分析模型中是否考虑时期效应、序列效应和残留效应。
- 必要时把交叉设计改为平行随机对照设计。
11.11.8 论文描述怎样写
软件会在结果区生成中英文论文描述。正式写入方案或论文时,应明确说明该计算是设计评估或敏感性分析,不应把它写成“证明研究不会有残留效应”。
公式法示例:
Sample size for evaluating a carry-over effect in a two-sequence crossover design was estimated using the normal approximation method implemented in TrialSize (Chow et al. 2003). The assumed sequence-specific variability parameters were \(\sigma_{AB}=2.3\) and \(\sigma_{BA}=2.4\), and the target difference in carry-over effects was \(\gamma=0.89\). With two-sided \(\alpha=0.025\) and target power of 80%, the calculation yielded 57 completed subjects per sequence, corresponding to 114 completed subjects across the AB and BA sequences. Assuming a 10% invalid or dropout rate, 64 subjects should be enrolled in each sequence, giving a total planned enrollment of 128 subjects. This calculation was used as a design-assessment and sensitivity-analysis tool, not as evidence that carry-over could be ignored.
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
采用 TrialSize 包中的残留效应检验正态近似公式(Chow et al. 2003)评估两序列交叉设计的 carry-over effect 样本量。设定 AB 序列残留效应变异参数 \(\sigma_{AB}=2.3\),BA 序列残留效应变异参数 \(\sigma_{BA}=2.4\),希望检出的两序列残留效应差异 \(\gamma=0.89\),双侧 \(\alpha=0.025\),目标检验效能 80%。计算得到每个序列需要 57 例完成主要终点评估,AB 与 BA 两个序列合计总完成受试者数为 114 例。考虑 10% 的无效/脱落率,实际建议每个序列入组 64 例,两个序列合计入组 128 例。该计算用于方案设计评估和敏感性判断,不应解释为可以忽略残留效应风险。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
11.11.9 敏感性分析怎么做
残留效应样本量对 \(\gamma\) 非常敏感。点击“敏感性分析”标签页,可以一次输入多个参数值,软件会生成所有组合的每序列完成样本量、总完成样本量和脱落调整后入组人数。
例如:
- power:
0.80 0.90 - \(\sigma_{AB}\):
2.0 2.3 2.6 - \(\sigma_{BA}\):
2.1 2.4 2.7 - \(\gamma\):
0.7 0.89 1.1 - \(\alpha\):
0.025 0.05 - 脱落率:
0.10
如果 \(\gamma\) 稍微变小就导致样本量明显增加,说明单纯依靠事后检验残留效应可能并不现实。此时更应回到方案本身,重新评估清洗期、周期长度、处理可逆性和是否应采用平行设计。
11.11.10 常见问题
Q:残留效应检验不显著,是不是就说明没有 carry-over effect?
A:不能这样解释。检验不显著可能是没有残留效应,也可能是样本量不足、参数假设不准或检验效能不够。本模块应定位为设计评估和敏感性判断。
Q:做了残留效应样本量计算,是不是就可以缩短清洗期?
A:不建议。清洗期应由药理、病理、处理持续时间和临床经验决定,不能用样本量计算替代。
Q:这个模块能用于 Williams 多处理交叉设计吗?
A:当前模块定位为 2×2 AB/BA 交叉设计。Williams 多处理交叉设计涉及更多时期和序列,残留效应结构更复杂,不建议直接套用。
Q:如果担心明显残留效应,还适合做交叉设计吗?
A:要谨慎。如果处理效应可能长期持续、不可逆,或清洗期无法可靠消除前一处理影响,应优先考虑平行随机对照设计。
11.12 单样本比例比较
11.12.1 适用范围与基本概念
单样本比例比较适用于“一个研究样本的事件发生率”与某个参考比例进行比较。这里的结局是二分类变量,例如是否客观缓解、是否发生感染、是否接种疫苗、是否达到血压控制目标等。研究者关心的不是每个患者的数值大小,而是一批患者中“发生事件的人数占总人数的比例”。
在医学研究中,单样本比例常见于与历史对照、指南阈值、既往登记研究或人群常模比较。例如,某肿瘤新方案的客观缓解率是否高于既往二线治疗 30% 的历史水平;某院围手术期感染率是否低于公认控制目标;某疫苗接种后抗体阳转率是否达到预设标准。这类研究只有一个实际入组样本,参考值来自外部资料,因此不能按两组比较处理。
11.12.2 研究实例:新治疗方案的客观缓解率
假设肿瘤科拟开展一项单臂 II 期研究,评价一种新治疗方案用于某复发难治肿瘤的疗效。主要终点设为治疗后影像学评估的客观缓解率(objective response rate, ORR),每名患者最终只被记录为“缓解”或“未缓解”。既往研究显示,类似患者接受标准二线治疗的 ORR 约为 30%。课题组认为,如果新方案真实 ORR 能达到 45%,就值得进入后续随机对照研究。
本研究的问题可以写成:
- 研究对象:复发难治肿瘤患者。
- 干预:新治疗方案。
- 主要终点:治疗后是否达到客观缓解。
- 参考比例 \(p_0\):既往标准二线治疗 ORR 约 30%。
- 预期比例 \(p_1\):希望本研究有把握检出的 ORR 为 45%。
于是本例设定:
\[ p_0 = 0.30, \quad p_1 = 0.45 \]
本例采用双侧检验,alpha = 0.05,目标把握度 80%,预计约 10% 患者无法完成疗效评估或退出研究。比例 Z 检验法(大样本正态近似)计算得到约需 87 例完成主要终点评估;考虑 10% 脱落后,实际计划入组约 97 例。
11.12.3 参数如何确定
单样本比例的样本量估算,最关键的是不要把“希望得到的结果”当成“合理的参数”。\(p_0\) 应来自外部可靠资料,\(p_1\) 应代表研究者认为值得检出的目标水平。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 事件定义 | 是否客观缓解 | 先在方案中定义 CR/PR 等判定规则 |
| 参考比例 \(p_0\) | 0.30 | 来自既往二线治疗研究、登记资料或系统综述 |
| 预期比例 \(p_1\) | 0.45 | 临床上认为值得进入下一阶段研究的目标 ORR |
| 检验方向 | 双侧 | 若只关心高于历史值,也可按方案设为单侧 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 来自影像评估缺失、退出和失访经验 |
文献提取时,应优先选择疾病类型、治疗线数、疗效评价标准和随访时间最接近的研究。若多篇文献报告的历史 ORR 分别为 25%、30%、35%,不能只挑一个最容易得到显著结果的数字。较稳妥的做法是把主分析设定为临床上认可的参考值,并在敏感性分析中同时考察多个 \(p_0\) 或 \(p_1\)。
11.12.4 操作步骤
进入“样本量与功效分析”后,点击“单样本比例”卡片。主计算页依次设置:
- 计算方法:默认“比例 Z 检验法(大样本正态近似,R 包:TrialSize)”,也可切换为“Cohen’s h 法(反正弦变换,R 包:pwr)”。
- 求解目标:求样本量、求检验效能或求可检测比例 \(p_1\)。
- 假设类型:不等式、非劣效、优效性或等效性检验。
- 输入
alpha、power、参考比例 \(p_0\)、预期比例 \(p_1\) 和脱落率。 - 点击“计算主要结果”。
按照前面的 ORR 例子,主计算页可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 比例 Z 检验法(大样本正态近似,R 包:TrialSize) |
| 求解目标 | 求样本量 |
| 假设类型 | 不等式检验 |
| 检验方向 | 双侧检验 |
alpha |
0.05 |
power |
0.80 |
| \(p_0\) 参考比例 | 0.30 |
| \(p_1\) 预期比例 | 0.45 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
两种计算方法的选择可按下表理解:
| 菜单选项 | 软件中使用的 R 包/函数 | 适合场景 |
|---|---|---|
| 比例 Z 检验法(大样本正态近似,R 包:TrialSize) | TrialSize 包;单样本比例常用 OneSampleProportion.Equality,非劣效/优效和等效场景调用相应函数 |
开题报告、基金标书、伦理材料,或论文 Methods 需要保留公式时 |
| Cohen’s h 法(反正弦变换,R 包:pwr) | pwr 包;pwr.p.test,使用 Cohen’s h |
既往文献、统计师或软件复核要求按 Cohen’s h / arcsine transformation / pwr 报告时 |
11.12.5 计算方法
比例 Z 检验法(大样本正态近似,R 包:TrialSize)
传统方法把参考比例、预期比例、显著性水平和目标把握度代入比例 Z 检验的大样本正态近似公式。对于不等式检验,可把核心思想理解为:预期比例与参考比例差得越远,样本量越少;比例本身越接近 0.5,二项分布方差越大,样本量越多。
如果选择公式法,论文正文通常不需要写“用了 TrialSize 包”。软件提供 TrialSize 代码主要用于复现计算;正式论文可写“采用单样本比例 Z 检验的大样本正态近似样本量公式(Chow et al. 2003)进行估算”,并在段落末尾列出参考文献。
Cohen’s h 法(反正弦变换,R 包:pwr)
pwr 包的 pwr.p.test 说明书将该函数用于单样本比例检验的功效计算,并说明使用比例的反正弦变换。效应量定义为:
\[ h = 2\arcsin\sqrt{p_1} - 2\arcsin\sqrt{p_0} \]
反正弦变换的优点是对比例资料的方差进行稳定化处理,特别是在比例接近 0 或 1 时更有意义。局限是它不如传统公式直观;若用于论文,应写明使用 R 软件 pwr 包、pwr.p.test 函数和 Cohen’s h 效应量。
11.12.6 结果解释和敏感性分析
右侧主结果区先显示参数汇总,随后给出公式计算法、R 软件包计算、R 代码、R 原始输出、论文描述和 Power 曲线。结果中的 n 是需要完成主要终点评估的受试者数;如果设置了脱落率,软件会另行给出实际建议入组人数。
敏感性分析建议至少考察不同的 \(p_1\) 和 power。例如本例可同时输入 \(p_1 = 0.40, 0.45, 0.50\),观察目标 ORR 从 45% 降到 40% 时样本量会增加多少。若样本量对 \(p_0\) 的假设很敏感,应在方案中说明参考比例来源,并考虑采用保守设定。
11.12.7 论文描述写法
公式法示例:
采用单样本比例 Z 检验的大样本正态近似样本量公式(Chow et al. 2003)进行估算。设定双侧检验,I 类错误率 alpha = 0.05,参考比例 \(p_0 = 0.30\),预期比例 \(p_1 = 0.45\),目标检验效能 80%,计算得需要 87 例完成主要终点评估。考虑 10% 的脱落率,实际需入组 97 例。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size was calculated using the R package pwr (version 1.3-0; pwr.p.test, Cohen’s h effect size for one-sample proportion tests; Cohen 1988). The effect size was defined as \(h = 2\arcsin\sqrt{p_1} - 2\arcsin\sqrt{p_0}\). A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.13 两独立样本比例比较
11.13.1 适用范围与基本概念
两独立样本比例比较适用于两个互不重叠人群或治疗组的事件发生率比较。结局变量仍然是二分类变量,但这一次有两个实际研究组,例如新治疗组与标准治疗组、干预组与对照组、暴露组与非暴露组。常见终点包括客观缓解率、并发症发生率、感染率、血压达标率、再入院率等。
估算样本量前,应先确认最终比较的是“两组比例之差”。如果是同一名患者治疗前后各记录一次是否达标,或同一个病例左右侧器官天然配对,就不应直接按两独立样本比例处理;此时需要根据研究问题考虑配对比例或其他设计。若两组患者来源独立、每名患者只贡献一个主要二分类终点,则可使用本模块。
11.13.2 研究实例:两组随机对照试验的客观缓解率
假设研究者拟开展一项两组平行随机对照试验,比较新联合治疗与标准治疗在某肿瘤中的客观缓解率。患者随机分入两组,治疗后按 RECIST 标准评价是否达到客观缓解。既往研究显示标准治疗 ORR 约为 50%;课题组认为,如果新联合治疗能把 ORR 提高到 65%,即差异达到 15 个百分点,就具有临床价值。
因此,本例设定:
\[ p_1 = 0.65,\quad p_2 = 0.50,\quad p_1-p_2 = 0.15 \]
本例采用双侧检验,alpha = 0.05,目标把握度 80%,两组 1:1 分配,预计 10% 脱落。比例 Z 检验法(大样本正态近似)计算得到每组约 167 例、总样本量 334 例;考虑 10% 脱落后,实际每组约需入组 186 例,总入组约 372 例。
11.13.3 参数如何确定
两组比例比较最容易出现的问题,是把对照组比例或治疗组比例设得过于乐观。样本量估算应尽量使用与目标研究相近的文献资料,而不是直接套用其他疾病、其他治疗线数或不同终点评价时间点的比例。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 事件定义 | 是否客观缓解 | 方案中预先定义 CR/PR 和评价时间点 |
| 治疗组预期比例 \(p_1\) | 0.65 | 来自早期研究、机制预期或专家共识 |
| 对照组比例 \(p_2\) | 0.50 | 来自标准治疗文献或历史对照 |
| 目标差异 | 0.15 | 临床上认为 15 个百分点值得检出 |
| 分组比例 \(k=N_2/N_1\) | 1 | 通常优先 1:1;资源或伦理原因可不等分配 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 来自治疗和影像随访经验 |
如果文献中对照组 ORR 报告范围较宽,例如 45% 到 55%,正式方案中建议说明主分析为何采用 50%,并在敏感性分析中同时考察 \(p_2=0.45,0.50,0.55\)。同样,若新治疗组预期 ORR 不确定,也应考察 \(p_1\) 的多个可能值。
11.13.4 操作步骤
进入“样本量与功效分析”后,点击“两独立样本比例”卡片。主计算页依次设置:
- 计算方法:默认“比例 Z 检验法(大样本正态近似,R 包:TrialSize)”,也可切换为“Cohen’s h 法(反正弦变换,R 包:pwr)”。
- 求解目标:求样本量、求检验效能或求可检测 \(p_1\)。
- 假设类型:不等式、非劣效、优效性或等效性检验。
- 输入
alpha、power、分组比例 \(k\)、治疗组比例 \(p_1\)、对照组比例 \(p_2\) 和脱落率。 - 点击“计算主要结果”。
按照前面的 ORR 随机对照试验例子,主计算页可以这样填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | 比例 Z 检验法(大样本正态近似,R 包:TrialSize) |
| 求解目标 | 求样本量 |
| 假设类型 | 不等式检验 |
| 检验方向 | 双侧检验 |
alpha |
0.05 |
power |
0.80 |
| 分组比例 \(k=N_2/N_1\) | 1 |
| \(p_1\) 治疗组比例 | 0.65 |
| \(p_2\) 对照组比例 | 0.50 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
两种计算方法的差异如下:
| 菜单选项 | 软件中使用的 R 包/函数 | 适合场景 |
|---|---|---|
| 比例 Z 检验法(大样本正态近似,R 包:TrialSize) | TrialSize 包;两样本比例常用 TwoSampleProportion.Equality,非劣效/优效和等效场景调用相应函数 |
需要展示公式、开题报告、基金标书、伦理材料或论文 Methods 公式法 |
| Cohen’s h 法(反正弦变换,R 包:pwr) | pwr 包;等样本量用 pwr.2p.test,不等样本量用 pwr.2p2n.test |
既往文献、统计师或软件复核要求按 Cohen’s h / arcsine transformation / pwr 报告时 |
11.13.5 计算方法
比例 Z 检验法(大样本正态近似,R 包:TrialSize)
对于两组等样本量的不等式检验,常用正态近似公式可写为:
\[ n_{\text{每组}} = \frac{(Z_{\alpha/2}+Z_{\beta})^2[p_1(1-p_1)+p_2(1-p_2)]}{(p_1-p_2)^2} \]
其中 \(p_1\) 和 \(p_2\) 分别为两组预期事件率。两组差异越小,分母越小,样本量会迅速增加;比例越接近 0.5,方差项越大,样本量也会增加。
Cohen’s h 法(反正弦变换,R 包:pwr)
pwr 包的 pwr.2p.test 说明书用于 two proportions 的功效计算,并采用 Cohen’s h 效应量:
\[ h = 2\arcsin\sqrt{p_1} - 2\arcsin\sqrt{p_2} \]
当两组等样本量时,软件调用 pwr.2p.test;当分组比例不为 1:1 时,软件使用 pwr.2p2n.test 或迭代求解。这个方法与 Cohen’s h 效应量体系一致,适合需要和 pwr/G*Power 等软件口径保持一致的场景。
11.13.6 结果解释和敏感性分析
右侧主结果区会显示 \(N_1\)、\(N_2\) 和总样本量 \(N\)。如果设置脱落率,软件会分别给出两组实际入组人数。对于不等分配设计,应特别核对 \(k=N_2/N_1\) 是否与方案一致;如果没有特殊设计理由,通常优先使用 1:1 分配,因为总样本量最经济。
敏感性分析建议同时考察 \(p_1\)、\(p_2\)、power 和 alpha。例如本例可输入 \(p_1=0.60,0.65,0.70\) 和 \(p_2=0.45,0.50,0.55\),观察治疗效应变小或对照组结果变好时,所需样本量是否仍然可行。
11.13.7 论文描述写法
公式法示例:
The sample size was estimated using the large-sample normal approximation formula for a two-sample proportion z test (Chow et al. 2003). Assuming a two-sided significance level alpha = 0.05, treatment-group response rate \(p_1 = 0.65\), control-group response rate \(p_2 = 0.50\), allocation ratio \(k=1\), and target power of 80%, 167 subjects per group were required (total N = 334). Assuming a dropout rate of 10%, 186 subjects per group should be enrolled (total N = 372).
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size was calculated using the R package pwr (version 1.3-0; pwr.2p.test for equal group sizes, Cohen’s h effect size for two proportions; Cohen 1988). Cohen’s h was defined as \(2\arcsin\sqrt{p_1} - 2\arcsin\sqrt{p_2}\). A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.14 配对比例比较
11.14.1 适用范围与基本概念
配对比例比较用于同一批受试者身上获得两次二分类结果,并比较这两次结果的阳性率是否不同。常见场景包括:同一批患者同时接受两种诊断方法,比较新方法和标准方法的阳性率;同一患者治疗前后记录是否达标;同一病例左右侧器官分别判断是否存在某种病变。这里的关键不是“有两组人”,而是“同一个人或同一个配对单位贡献一对结果”。
配对比例的样本量计算,不能只看两次测量各自的阳性率。McNemar 检验真正使用的是“不一致对”:第一次阴性、第二次阳性记为 \(p_{01}\),第一次阳性、第二次阴性记为 \(p_{10}\)。两次都阳性或两次都阴性的患者,对判断两次阳性率是否不同没有直接贡献。因此,文献中如果只写“方法 A 阳性率 60%,方法 B 阳性率 72%”,但没有给出 2×2 交叉表,样本量估算就会缺少最关键的信息。
11.14.2 研究实例:新型快速检测方法评价
假设感染科准备评价一种新型快速检测方法,用于某呼吸道病原体筛查。每位患者同时接受“标准实验室检测”和“新型快速检测”,最终每名患者形成一对结果:标准方法阳性/阴性,新方法阳性/阴性。研究者关心的是:新方法的阳性检出率是否与标准方法不同。
研究问题可整理为:
- 研究对象:疑似感染患者。
- 第 1 次/第 1 方法:标准实验室检测。
- 第 2 次/第 2 方法:新型快速检测。
- 主要终点:每种方法的阳性/阴性结果。
- 主要比较:两种方法的边际阳性率是否相同。
根据一项小样本预实验,100 名患者中约有 12 名为“标准方法阴性、新方法阳性”,约有 4 名为“标准方法阳性、新方法阴性”。因此可初步设定:
\[ p_{01}=0.12,\quad p_{10}=0.04 \]
本例采用双侧检验,alpha = 0.05,目标把握度 80%,预计 10% 患者可能因标本质量或随访资料缺失无法完成主要终点评估。McNemar 样本量公式计算得到约需 194 对完成主要终点评估;考虑 10% 脱落后,实际建议入组约 216 对。
11.14.3 参数如何确定
配对比例设计中,最容易犯的错误是只从文献中摘录两个阳性率,然后直接把它当成两独立样本比例来算。正确做法是尽量获得 2×2 配对表。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 配对单位 | 每名患者 | 同一患者同时接受两种检测 |
| \(p_{01}\) | 0.12 | 标准方法阴性、新方法阳性的比例 |
| \(p_{10}\) | 0.04 | 标准方法阳性、新方法阴性的比例 |
| 不一致对总比例 | 0.16 | \(p_{01}+p_{10}\) |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 标本不合格、缺失结果等经验估计 |
如果文献报告了完整交叉表,例如 200 例中“旧阴新阳”为 20 例,“旧阳新阴”为 8 例,则 \(p_{01}=20/200=0.10\),\(p_{10}=8/200=0.04\)。如果没有交叉表,只能从两种方法阳性率推断差异,是不够稳妥的;这时应尽量查找补充材料、联系作者,或用预实验估计不一致对比例。
11.14.4 操作步骤
进入“样本量与功效分析”后,点击“配对比例”卡片。主计算页依次设置:
- 计算方法:默认“McNemar 样本量公式(R 包:TrialSize)”;也可切换为“McNemar 渐近功效迭代(R 包:Exact)”。
- 求解目标:求样本量或求检验效能。
- 输入
alpha、power或已知配对样本量。 - 输入 \(p_{01}\) 和 \(p_{10}\)。
- 输入预计脱落率,点击“计算主要结果”。
按照上面的快速检测例子,软件可填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | McNemar 样本量公式(R 包:TrialSize) |
| 求解目标 | 求样本量 |
alpha |
0.05 |
power |
0.80 |
| \(p_{01}\) | 0.12 |
| \(p_{10}\) | 0.04 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
11.14.5 计算方法
McNemar 样本量公式(R 包:TrialSize)
TrialSize 包的 McNemar.Test 使用 \(p_{01}/p_{10}\) 的比值和 \(p_{01}+p_{10}\) 的总不一致比例估算配对样本量。核心思想可以这样理解:真正提供信息的是方向相反的不一致对;如果 \(p_{01}\) 和 \(p_{10}\) 相差很大,说明两次结果的边际阳性率差异明显,所需样本量较少;如果两者接近,则需要更多配对样本才能判断差异不是偶然波动。
McNemar 渐近功效迭代(R 包:Exact)
Exact 包的 power.paired.test 可对配对 2×2 表进行功效计算。本软件使用其中的 AM 选项,即 Asymptotic McNemar’s test:先给定一个配对样本量 \(N\),计算相应功效,再通过迭代寻找达到目标效能的最小 \(N\)。这一方法适合与配对 2×2 功效函数做复核;如果样本量很小,严格精确方法可能更合适,但计算和解释也更复杂。
11.14.6 结果解释和敏感性分析
结果区会显示 \(p_{01}\)、\(p_{10}\)、二者比值、总不一致比例、需要完成主要终点评估的配对数,以及脱落率调整后的建议入组对数。注意这里的 \(N\) 是“配对数”,不是单独的检测次数。若 216 名患者每人做两种检测,仍然是 216 对,而不是 432 例。
敏感性分析建议重点改变 \(p_{01}\) 和 \(p_{10}\)。如果二者差异从 0.08 缩小到 0.04,样本量可能明显增加。正式方案中应说明主参数来自哪篇文献或哪项预实验,并用敏感性分析展示不一致对假设变化时样本量是否仍可承受。
11.14.7 论文描述写法
公式法示例:
采用 McNemar 检验样本量公式(Chow et al. 2003)估算配对二分类结局的样本量。设定双侧检验,I 类错误率 alpha = 0.05,不一致对比例 \(p_{01}=0.12\)、\(p_{10}=0.04\),目标检验效能 80%,计算得需要 194 对完成主要终点评估。考虑 10% 的脱落率,实际建议入组 216 对。
Reference: Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
R 包法示例:
Sample size was calculated using the R package Exact (version 3.3; power.paired.test with method = “am”, asymptotic McNemar’s test for paired 2×2 tables). The calculation used the discordant-pair probabilities \(p_{01}\) and \(p_{10}\), the prespecified two-sided significance level, and the target power. A dropout adjustment was then applied according to the prespecified dropout rate.
Reference: Calhoun P. Exact: Unconditional Exact Test. R package version 3.3; 2024.
11.15 多组比例比较
11.15.1 适用范围与基本概念
多组比例比较用于三组及以上独立人群的二分类结局比较。例如三种治疗方案的缓解率、三个地区的筛查阳性率、三个剂量组的不良反应发生率。这里每名受试者只属于一个组,结局只记录为发生/未发生,研究者首先关心的是“各组事件率总体上是否存在差异”。
如果研究的主要问题已经明确为“某两个组之间的差异”,或者需要做多个两两比较,则不能只停留在总体卡方检验。总体检验回答的是“是否至少有一组不同”,并不直接告诉我们哪两组不同。因此,样本量设计时应先分清:主要假设是总体差异,还是预先指定的一项两组比较。
11.15.2 研究实例:三种治疗方案的客观缓解率
假设肿瘤科准备开展一项三臂随机研究,比较 A、B、C 三种治疗方案的客观缓解率。每名患者随机接受其中一种方案,治疗后按统一标准评价是否达到客观缓解。根据既往研究和早期探索数据,研究者预计三组 ORR 大约为:
\[ p_A=0.30,\quad p_B=0.45,\quad p_C=0.55 \]
若三组等比例入组,分配比例为 \(1:1:1\)。本例采用 alpha = 0.05,目标把握度 80%,预计 10% 脱落。使用 Pearson 卡方检验的 Cohen’s w 效应量并调用 pwr 包计算,总共约需 225 例完成主要终点评估,即每组约 75 例;考虑 10% 脱落后,实际建议每组入组约 84 例,总入组约 252 例。
11.15.3 参数如何确定
多组比例比较需要为每一组提供预期事件率。参数来源应尽量与目标研究的人群、治疗线数、终点评价标准和评价时间一致。
| 设计问题 | 本例选择 | 如何获得 |
|---|---|---|
| 组数 | 3 组 | 研究方案设定 |
| 各组事件率 | 0.30 / 0.45 / 0.55 | 既往研究、早期试验、真实世界资料或专家共识 |
| 分配比例 | 1:1:1 | 平行随机研究常用等比例分配 |
| 检验水准 / 把握度 | alpha = 0.05 / power = 0.80 |
常用设计约定 |
| 脱落率 | 10% | 随访缺失、影像评估缺失、退出研究等经验 |
若 C 组预期疗效来自很早期的小样本研究,正式方案中不要只使用最乐观的 0.55。更稳妥的做法是在敏感性分析中同时考察 0.50、0.55、0.60 等方案,判断样本量是否稳定。
11.15.4 操作步骤
进入“样本量与功效分析”后,点击“多组比例”卡片。主计算页依次设置:
- 计算方法:Pearson 卡方检验 Cohen’s w 法(R 包:pwr)。
- 求解目标:求总样本量或求检验效能。
- 输入
alpha、power或已知总样本量。 - 在“各组事件率”中按顺序输入各组比例,例如
0.30 0.45 0.55。 - 在“分配比例”中输入与组数相同的比例,例如
1 1 1或1 1 2。 - 输入脱落率,点击“计算主要结果”。
按照上面的三臂研究例子,软件可填写:
| 软件项目 | 本例填写 |
|---|---|
| 计算方法 | Pearson 卡方检验 Cohen’s w 法(R 包:pwr) |
| 求解目标 | 求总样本量 |
alpha |
0.05 |
power |
0.80 |
| 各组事件率 | 0.30 0.45 0.55 |
| 分配比例 | 1 1 1 |
| 脱落率 | 0.10 |
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
11.15.5 计算方法
pwr 包的 pwr.chisq.test 用 Cohen’s w 表示卡方检验效应量。对多组二分类结局,本软件先根据分配比例计算总体平均事件率,再构造“各组事件率相同”这个原假设下的期望比例,最后计算观察比例与期望比例之间的偏离:
\[ w = \sqrt{\sum_i \frac{(p_{i,obs}-p_{i,exp})^2}{p_{i,exp}}} \]
三组二分类结局的自由度为 \(df=3-1=2\)。\(w\) 越大,说明各组比例偏离原假设越明显,所需样本量越少;\(w\) 越小,则需要更大样本量才能发现总体差异。
11.15.6 结果解释和敏感性分析
结果区会显示 Cohen’s w、自由度、总样本量、按分配比例取整后的各组样本量,以及脱落调整后的建议入组人数。若分配比例不是 1:1:1,软件会按比例拆分各组人数并向上取整,因此“按组取整后总数”可能略大于 pwr 计算出的理论总样本量。
敏感性分析可以输入多套事件率方案。例如 0.30 0.45 0.55; 0.30 0.40 0.50 表示分别计算两套三组比例。若较保守方案导致样本量大幅增加,应在研究方案中说明最终采用哪套参数,以及为什么该参数符合临床和文献依据。
11.15.7 论文描述写法
R 包法示例:
Sample size for comparing multiple independent proportions was calculated using the R package pwr (version 1.3-0; pwr.chisq.test), based on Cohen’s w effect size for Pearson’s chi-squared test (Cohen 1988). Assuming group proportions of 0.30, 0.45, and 0.55, equal allocation, alpha = 0.05, and target power of 80%, a total of 225 evaluable subjects were required. Assuming a dropout rate of 10%, 252 subjects should be enrolled.
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
中文示例:
使用 R 软件 pwr 包(版本 1.3-0;pwr.chisq.test)基于 Pearson 卡方检验的 Cohen’s w 效应量进行多组独立比例比较的样本量计算(Cohen 1988)。设定三组事件率分别为 0.30、0.45 和 0.55,等比例分配,I 类错误率 alpha = 0.05,目标检验效能 80%,计算得需要 225 例完成主要终点评估。考虑 10% 的脱落率,实际建议总入组 252 例。
Reference: Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
11.16 单组生存率
11.16.1 先判断是不是这个模块
单组生存率模块用于单臂时间至事件研究,研究者希望判断某个固定时间点的 Kaplan-Meier 生存率是否达到预设目标。例如单臂 II 期肿瘤研究中,关心 12 个月无进展生存率是否高于历史对照;某罕见病研究中,关心 24 个月无事件生存率是否达到既往文献中的最低有效水平。
这里的结局不是简单的“发生/未发生”,而是“从入组到事件发生的时间”。部分患者在研究结束时尚未发生事件,属于右删失;删失是生存资料本身的一部分,不能简单按二分类率模块处理。若研究有两个治疗组并希望比较两条生存曲线,应进入“两组独立样本生存分析”模块;若只关心单臂研究在某个 landmark 时间点的生存率是否达到目标,才使用本模块。
常见情景可以这样区分:
| 研究问题 | 医学例子 | 应使用的模块 |
|---|---|---|
| 单组患者在固定时间点的生存率是否达到目标 | 单臂 II 期肿瘤研究,判断 12 个月 PFS 是否达到 50% | 本模块 |
| 两组患者的生存曲线或 HR 是否不同 | 新方案 vs 标准治疗,比较无进展生存期 | 两组独立样本生存分析 |
| 只统计固定时间点是否发生事件,不记录事件时间 | 12 个月内是否复发,是/否结局 | 单组率或两组率模块 |
11.16.2 研究例子:单臂 II 期研究的 12 个月 PFS
假设肿瘤科拟开展一项单臂 II 期研究,评价一种新治疗方案用于复发肿瘤。既往标准治疗的 12 个月无进展生存率约为 35%,研究者认为如果新方案的 12 个月无进展生存率能达到 50%,就值得进入后续随机对照研究。
本例的设计参数可以写成:
| 参数 | 本例设定 | 含义 |
|---|---|---|
| \(S_0(t)\) | 0.35 | 历史对照或最低可接受 12 个月生存率 |
| \(S_1(t)\) | 0.50 | 希望检出的目标 12 个月生存率 |
| \(t\) | 12 个月 | Landmark 评价时间点 |
| 入组期 \(A\) | 12 个月 | 计划完成入组所需时间 |
| 入组结束后随访 \(F\) | 12 个月 | 最后一例入组后仍至少随访 12 个月 |
| \(\alpha\) / power | 0.05 / 0.80 | 设计约定 |
参数应从同疾病、同治疗线数、同评价终点的文献中提取。若历史 PFS 研究只报告中位 PFS,而没有给出固定时间点生存率,可以根据 Kaplan-Meier 曲线读数或联系作者获取;不建议把中位生存期直接填入单组生存率模块。
11.16.3 软件操作与计算方法
进入“单组生存率”模块后,在“样本量与功效分析”标签页填写历史生存率、目标生存率、评价时间点、入组期和随访期。当前模块采用“单组 KM 生存率反正弦变换法(R 包:SampleSizeSingleArmSurvival)”。该方法针对单臂生存曲线在固定时间点的生存率进行样本量规划,适合单臂肿瘤研究或罕见病单组研究。
按照上面的 12 个月 PFS 例子,可按下表填写:
| 软件项目 | 本例填写 | 解释 |
|---|---|---|
| 历史/参考生存率 \(S_0(t)\) | 0.35 | 既往标准治疗 12 个月 PFS |
| 目标生存率 \(S_1(t)\) | 0.50 | 新方案希望达到的 12 个月 PFS |
| 评价时间点 \(t\) | 12 | 单位与随访时间保持一致 |
| 入组期 | 12 | 预计 12 个月完成入组 |
| 额外随访期 | 12 | 最后一例入组后继续随访 12 个月 |
| 数值积分步数 | 默认值 | 用于数值积分近似,普通用户通常不需要改动;调大可提高数值精度,但计算稍慢 |
| \(\alpha\) / power | 0.05 / 0.80 | 常用双侧设计约定 |
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
结果区会给出所需样本量、实际 power、对应 hazard 近似和 R 代码。敏感性分析建议同时改变 \(S_0(t)\)、\(S_1(t)\)、评价时间点和 power,特别要检查目标生存率从 50% 降到 45% 时样本量是否仍可接受。若历史生存率来自曲线读数,建议把读数不确定性也放入敏感性分析,例如 \(S_0(t)=0.30,0.35,0.40\)。
11.16.4 论文描述与 Word 报告
论文 Methods 中应说明这是单臂 Kaplan-Meier 生存率样本量规划,而不是二分类率检验。例如:
Sample size for a single-arm time-to-event study was calculated for a Kaplan-Meier survival probability at a prespecified landmark time using the R package SampleSizeSingleArmSurvival (version 0.1.0). The null survival probability \(S_0(t)\), target survival probability \(S_1(t)\), landmark time, accrual period, follow-up period, significance level, and target power were prespecified.
Reference: Kamal M. SampleSizeSingleArmSurvival: Calculate Sample Size for Single-Arm Survival Studies. R package version 0.1.0; 2025. doi:10.32614/CRAN.package.SampleSizeSingleArmSurvival.
完成主要计算和敏感性分析后,可在“下载word文档(论文中的样本量计算部分)”标签页导出 Word 报告。报告正文保留可直接放入论文的方法学段落,R 代码和原始输出放入附录。
11.17 两组独立样本生存分析
11.17.1 先判断是不是这个模块
两组独立样本生存分析用于两组平行对照研究,主要结局为时间至事件结局,例如无进展生存期、总生存期、复发时间、首次住院时间等。研究目标通常是比较两组生存曲线,或检验实验组相对于对照组的 hazard ratio(HR)是否达到预期。
本模块适合固定总入组速度的设计:研究者输入每月大约能入组多少例,软件估算达到目标事件数所需的入组时长、总研究时长和总样本量。这里的失访删失用每月 hazard 表示,属于生存资料右删失的一部分,不是普通“脱落率”。若研究只是单臂固定时间点生存率是否达到目标,应使用“单组生存率”模块。
11.17.2 研究例子:新治疗方案与标准治疗的 PFS 比较
假设研究者计划开展一项两组随机对照试验,比较新治疗方案与标准治疗的无进展生存期。既往文献显示标准治疗组中位 PFS 约为 18 个月。课题组希望新方案将进展风险降低 30%,即目标 HR = 0.70。研究中心预计每月总共可入组 20 例,最后一例入组后至少随访 12 个月;若预计每月失访删失 hazard 为 0.0043,也应作为删失风险纳入计算。
本例参数为:
| 参数 | 本例设定 | 说明 |
|---|---|---|
| 对照组中位生存时间 \(m_0\) | 18 个月 | 来自既往标准治疗研究 |
| 目标 HR | 0.70 | 实验组/对照组 |
| 总入组速度 \(\gamma\) | 20 例/月 | 由中心数量和筛选能力估计 |
| 最短随访 \(F\) | 12 个月 | 最后一例入组后继续随访时间 |
| 分配比例 \(r\) | 1 | 1:1 随机分组 |
| 失访删失 hazard \(\eta\) | 0.0043/月 | 约对应每年 5% 左右失访删失风险 |
这些参数通常来自三个来源:对照组中位生存时间来自既往标准治疗研究;HR 来自临床期望或同类试验;入组速度和最短随访来自本研究中心数量、筛选量和随访计划。若方案中预计有较明显失访,建议把失访删失 hazard 写入样本量假设,而不是在生存模块中另设一个普通脱落率。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
11.17.3 软件操作与计算方法
本模块采用 gsDesign 包的 nSurv 思路,并在结果区展示 Schoenfeld 事件数近似和 Lachin-Foulkes 入组/随访事件概率计算。可以把计算分成两步理解:
- 先用 Schoenfeld 近似公式计算达到目标 power 所需事件数 \(D\)。
- 再把入组速度、入组时长、最短随访、指数生存假设和失访删失 hazard 代入事件概率公式,数值求解能产生 \(D\) 个事件的入组时长 \(R\),最后由 \(N=\lceil \gamma R\rceil\) 得到总样本量。
因此,入组时长不是凭空给出的,而是由事件数方程数值求解得到。计算时,\(P_0(R)\) 和 \(P_1(R)\) 是关于入组时长 \(R\) 的事件概率函数;软件把它们代入预计事件数方程,数值求解 \(R\),再反算总样本量。若失访删失 hazard 增大,预计事件概率降低,通常需要更长入组时间或更多样本量。
结果区分为两部分:公式计算法展示事件数、入组时长、样本量和公式代入过程;R 软件包计算法展示 gsDesign 包代码和原始输出。两者可能因求解细节、取整规则或软件实现略有差异,正式报告时应固定一种方法,并保持正文、Word 报告和敏感性分析口径一致。
11.18 线性回归
11.18.1 先判断是不是这个模块
线性回归模块用于连续结局与一个主要自变量之间的关联研究。医学研究中常见问题包括:体重每增加 1 kg,收缩压是否升高;某生物标志物浓度与 eGFR 是否线性相关;运动时间是否与抑郁量表分数有关。这里的目标是检验一个主要自变量的线性关联,而不是建立多因素预测模型。
若研究目标是开发一个包含多个候选变量、用于预测个体风险或连续结局的模型,应使用“多因素线性回归预测”模块。若只是两个连续变量之间是否相关,且不需要回归斜率或调整协变量,可以使用 Pearson 相关模块。
11.18.2 研究例子:BMI 与收缩压的线性关联
假设研究者计划横断面调查成人 BMI 与收缩压的关系。既往文献提示 BMI 每增加 1 kg/m²,收缩压约增加 1.2 mmHg;BMI 的标准差约 4 kg/m²,收缩压标准差约 15 mmHg。研究者希望有 80% 把握检出这个斜率。
本模块可采用两种输入方式:
| 输入方式 | 需要参数 | 适合场景 |
|---|---|---|
| 斜率法 | 目标斜率 \(\lambda\)、\(\sigma_x\)、\(\sigma_y\) | 文献报告了回归斜率或单位变化效应 |
| 相关系数法 | \(R^2\) 或 \(\rho\) | 文献只报告相关系数或解释度 |
参数提取时,要确认自变量单位一致。例如文献中的 BMI 斜率若按 5 kg/m² 报告,填入前应换算到软件中使用的单位。
具体填写时,可先问自己文献里给了哪一种信息:
| 文献报告形式 | 如何转成软件参数 |
|---|---|
| “BMI 每增加 1 kg/m²,SBP 增加 1.2 mmHg” | 选择斜率法,\(\lambda=1.2\) |
| 同时给出 BMI 的 SD 和 SBP 的 SD | 填入 \(\sigma_x\) 与 \(\sigma_y\),用于斜率法 |
| 只报告相关系数 \(r=0.30\) | 选择相关系数法,填 \(\rho=0.30\) 或 \(R^2=0.09\) |
11.18.3 软件操作与报告
进入模块后选择“斜率法”或“相关系数法”,输入 \(\alpha\)、power、目标效应和预计无效/缺失率。软件使用 powerMediation 包进行线性回归斜率或相关/解释度口径的样本量计算。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
实际操作时,先在左侧选择“斜率法”或“相关系数法”。如果文献给出的是回归系数,例如“BMI 每增加 1 kg/m²,SBP 增加 1.2 mmHg”,就用斜率法;如果文献只给出 \(r\) 或 \(R^2\),就用相关系数法。然后把 \(\alpha\)、目标 power、效应量、无效/缺失数据率填入参数区,点击“计算主要结果”。右侧结果区会显示软件采用的方法、有效样本量、无效/缺失调整后的入组人数,以及可直接放入论文 Methods 的中英文描述。
读结果时要特别注意“效应量单位”。斜率法的样本量和自变量单位密切相关:BMI 的单位是 1 kg/m²、5 kg/m²,或者每 1 个标准差,对应的斜率数值不同,不能混填。相关系数法则更适合早期探索性研究或文献只报告相关强度的场景,但它不能替代正式多变量调整后的回归模型设计。
论文描述应写明研究检验的是单个主要自变量的线性关联,并报告所用 R 包、函数、斜率或 \(R^2\)、\(\alpha\)、power 和样本量。若选择斜率法,Methods 中要写清楚自变量单位,例如“BMI 每增加 1 kg/m²”;若选择相关系数法,则应说明相关系数或 \(R^2\) 的来源。敏感性分析建议改变目标斜率、\(\sigma_y\) 或 \(\rho\),因为较小斜率会明显增加样本量。
11.19 Logistic 回归
11.19.1 先判断是不是这个模块
Logistic 回归模块用于二分类结局与一个主要自变量之间的关联研究。例如吸烟是否与慢阻肺患病相关、某基因突变是否增加复发风险、炎症指标每升高 1 个标准差是否增加术后并发症风险。这里的结局是二分类,自变量可以是二分类自变量,也可以是连续自变量。
本模块不是多因素预测模型样本量模块。若研究目的是建立一个包含多个预测因子的风险预测模型,应使用“多因素 Logistic 回归预测”模块。这里更像流行病学影响因素研究:研究者事先指定一个主要自变量,想知道它与二分类结局之间的 OR 是否能够被检出。
11.19.2 研究例子:吸烟与术后并发症风险
假设外科研究者计划分析吸烟与术后并发症的关系。既往资料显示非吸烟者并发症率约 15%,研究者预计吸烟者 OR 约为 2.0,研究人群中吸烟比例约 40%。研究希望在双侧 \(\alpha=0.05\)、power = 80% 下检出该关联。
本模块中:
- \(p_0\) 是基线事件率,例如非吸烟者并发症率 0.15。
- OR 是主要自变量与结局的预期优势比。
- \(B=Pr(X=1)\) 是二分类自变量中 \(X=1\) 的比例,例如吸烟者比例 0.40。
若选择连续自变量 OR 法,则 OR 通常应定义为自变量每增加 1 个单位或 1 个标准差对应的 OR;必须在方案中写清楚单位。
| 输入方式 | 医学例子 | 关键参数 |
|---|---|---|
| 二分类自变量 OR 法 | 吸烟者 vs 非吸烟者的术后并发症风险 | 基线事件率 \(p_0\)、OR、\(X=1\) 比例 |
| 连续自变量 OR 法 | CRP 每增加 10 mg/L 对并发症风险的影响 | 基线事件率、OR 的单位、连续自变量标准差或分布假设 |
11.19.3 软件操作与报告
本模块采用 Hsieh Logistic 回归样本量公式,并用 R 软件 powerMediation 包实现。二分类自变量时,软件先由 \(p_0\) 和 OR 推出 \(X=1\) 组的事件率,再结合 \(X=1\) 比例估算总样本量;连续自变量时,则按连续协变量 OR 公式计算。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
具体操作时,先判断自变量是二分类还是连续。二分类自变量的典型例子是吸烟/不吸烟、突变阳性/阴性、是否接受某治疗;连续自变量的典型例子是年龄、CRP、BMI 或某连续评分。二分类自变量需要填写基线事件率、OR 和 \(X=1\) 比例;连续自变量需要明确 OR 是“每 1 单位”还是“每 1 个标准差”的 OR,并按同一单位填写。
结果区的重点不是简单看总样本量,而是核对三个假设是否合理:第一,基线事件率是否来自目标人群;第二,OR 是否有医学意义且和文献单位一致;第三,\(X=1\) 比例是否符合计划入组人群。若其中任何一项不确定,都应到“敏感性分析”标签页同时改变这些参数,看样本量是否稳定。
论文描述中应写明使用 powerMediation 包的 Hsieh 方法、OR 定义、基线事件率、自变量分布、\(\alpha\)、power 和无效/缺失率调整。最容易出错的是 OR 单位:如果文献报告的是“每 10 mg/L CRP 的 OR”,软件中也应按同一单位填写;如果改成每 1 mg/L,OR 需要换算。敏感性分析建议同时改变 OR、基线事件率和 \(X=1\) 比例。
11.20 Poisson 回归
11.20.1 先判断是不是这个模块
Poisson 回归模块用于计数结局或发生率结局与一个主要自变量之间的关联研究。例如空气污染水平与哮喘急性发作次数、干预前后急诊就诊次数、二分类自变量与感染发生率的关联。结局通常是某段观察时间内的事件次数,或者考虑人时后的发生率。
若结局是是否发生事件,应使用 Logistic 回归;若结局是时间到首次事件,应使用 Cox 回归或生存分析模块。
11.20.2 研究例子:暴露与急性发作次数
假设研究者关注某环境因素是否增加一年内哮喘急性发作次数。未接触该因素者平均每人年发作率 \(\lambda_0=0.8\),研究者预计接触者发生率比 IRR = 1.5。若 \(X=1\) 比例约 40%,平均随访时间 1 年,且预计存在一定过度离散,可设置过度离散系数 \(\phi\)。
参数含义如下:
| 参数 | 含义 |
|---|---|
| \(\lambda_0\) | 基线发生率或平均计数率 |
| IRR | 暴露组相对于对照/非暴露组的发生率比 |
| \(\pi_x\) | 二分类自变量中 \(X=1\) 的比例 |
| \(\mu_T\) | 平均随访时间或暴露时间 |
| \(\phi\) | 过度离散调整系数,\(\phi>1\) 表示计数变异大于 Poisson 假设 |
11.20.3 软件操作与报告
本模块用于单个主要自变量的 Poisson 回归关联研究。填写基线发生率、IRR、自变量分布、平均观察时间和过度离散系数后,软件估算有效样本量,并按预计无效/缺失率调整入组人数。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
使用前先确认结局确实是“次数”或“发生率”。例如一年内急性发作次数、住院次数、感染次数可以考虑 Poisson 回归;而“是否发生感染”是二分类结局,应使用 Logistic 回归;“首次感染时间”是时间至事件结局,应使用 Cox 回归或生存分析模块。若每名受试者观察时间不完全相同,需要把平均观察时间或人时假设写清楚。
从文献中提取参数时,优先寻找基线发生率和 IRR。例如文献写“未暴露组每人年发作 0.8 次,暴露组 IRR = 1.5”,则可填 \(\lambda_0=0.8\)、IRR = 1.5、观察时间 = 1 年。若文献提示计数资料明显过度离散,\(\phi\) 应大于 1;如果没有证据,通常先用 \(\phi=1\),并在敏感性分析中尝试 1.2、1.5 或 2.0。
二分类自变量时,本模块使用 regpoweR 包进行 Poisson 回归发生率比样本量计算;连续自变量时,使用 powerMediation 包的 Poisson 回归样本量函数。正式报告时应说明结局是计数或发生率结局、IRR 的单位、平均观察时间和是否考虑过度离散。若数据存在明显过度离散或重复事件相关结构,正式分析阶段可能需要负二项回归、稳健标准误或混合模型;样本量说明中应把这些作为方法学假设写清楚。
11.21 Cox 回归
11.21.1 先判断是不是这个模块
Cox 回归模块用于时间至事件结局与一个主要二分类自变量之间的关联研究,例如治疗组与对照组的复发风险、某因素 \(X=1\) 与 \(X=0\) 人群的死亡风险、某突变阳性与阴性患者的无进展生存风险。它关注的是 HR,而不是固定时间点发生率。
本模块计算所需的是可观察到的事件数和总样本量。右删失是生存资料本身的一部分,因此这里不设置普通脱落率;关键参数是事件观察概率。
11.21.2 研究例子:突变阳性与复发风险
假设研究者拟分析某肿瘤突变阳性是否与复发风险相关。既往队列显示突变阳性比例约 30%,随访期间约 40% 患者发生复发事件。研究者预计突变阳性患者 HR = 1.8,希望以双侧 \(\alpha=0.05\)、power = 80% 检出该关联。
应填写:
- HR:主要自变量 \(X=1\) 相对于 \(X=0\) 的风险比。
- \(p\):\(X=1\) 的比例,例如突变阳性比例 0.30。
- 事件观察概率 \(d\):预计随访期间会发生主要事件的比例,例如 0.40。
11.21.3 软件操作与报告
本模块采用 Schoenfeld 事件数公式,并用 TrialSize 包复现 Cox 回归 HR 样本量计算。先根据 HR、\(X=1\) 比例、\(\alpha\) 和 power 估计所需事件数,再由事件观察概率 \(d\) 换算为总样本量。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
操作时应先从研究方案中写清楚三件事:主要二分类自变量是什么,目标 HR 是多少,随访期内预计能观察到多少事件。比如突变阳性比例 30%、总体复发事件概率 40%、目标 HR = 1.8,就是本模块最典型的输入方式。这里的事件观察概率不是失访率,而是最终能看到主要终点事件的比例;删失越多、随访越短,事件观察概率通常越低。
结果区会先给出所需事件数,再换算为总样本量。生存影响因素研究中,事件数往往比总人数更关键:如果 HR 设定不变,但事件观察概率从 40% 降到 20%,总样本量大约会明显增加。因此,写方案时不要只报告总样本量,还应报告所需事件数和事件观察概率的来源。
论文描述中应明确这是 Cox 回归 HR 的样本量规划,报告 HR、\(X=1\) 比例、事件观察概率、\(\alpha\)、power 和所需事件数。本模块不设置普通脱落率,因为生存资料中的右删失已经通过事件观察概率反映;如果确有因关键变量缺失而无法纳入分析的样本,应在研究设计中单独考虑。敏感性分析建议改变 HR 和事件观察概率;事件率越低,需要入组的总样本量越大。
11.22 多因素线性回归预测
11.22.1 先判断是不是这个模块
多因素线性回归预测模块用于开发连续结局预测模型,例如预测治疗后收缩压、术后功能评分、eGFR 或住院天数。研究目标不是检验某一个因素是否显著,而是建立一个由多个候选预测因子组成、用于预测个体结局的模型。
与“线性回归影响因素研究”不同,本模块关心的是模型整体能否稳定预测。样本量不再由某一个斜率决定,而由候选预测参数个数、模型预期解释度、目标 shrinkage 和结局均值估计精度共同决定。
11.22.2 研究例子:预测 12 周后收缩压
假设研究者计划建立模型预测高血压患者 12 周后的 SBP。候选预测参数包括年龄、性别、基线 SBP、BMI、用药依从性等共 15 个参数。既往研究预计模型 \(R^2=0.20\),结局均值约 120 mmHg,标准差约 15 mmHg。研究者希望目标 shrinkage 至少 0.90,并限制总体均值估计误差。
这里的关键参数包括候选预测参数个数 \(p\)、预期模型 \(R^2\)、目标 shrinkage、结局均值、结局标准差和均值估计 MMOE 上限。MMOE 用于控制总体均值估计的精度,上限越严格,所需样本量越大。
| 参数 | 本例设定 | 如何理解 |
|---|---|---|
| 候选预测参数个数 \(p\) | 15 | 不是变量名数量,而是模型自由度数量 |
| 预期 \(R^2\) | 0.20 | 来自既往预测模型或预试验 |
| 目标 shrinkage | 0.90 | 越接近 1,越强调减少过拟合 |
| 结局均值 / SD | 120 / 15 | 用于控制平均预测误差和均值估计精度 |
| 均值估计 MMOE 上限 | 研究者设定 | 限制总体均值估计允许的最大误差 |
11.22.3 软件操作与报告
本模块使用 R 软件 pmsampsize 包实现 Riley 等提出的预测模型开发样本量准则。该准则同时考虑过拟合控制、模型解释度估计和平均预测误差等要求,软件会取多个准则中最严格者作为最终样本量。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
填写参数前,建议先列出候选预测因子清单,并把它们换算成“预测参数个数”。连续变量通常记 1 个参数;二分类变量记 1 个参数;四分类变量若不合并,通常需要 3 个参数;非线性样条或交互项会继续增加参数个数。样本量计算应基于计划进入模型的参数个数,而不是最终逐步筛选后可能留下的变量个数。
结果区通常会显示多个准则对应的样本量。正式采用时应取软件给出的最大值,因为它代表同时满足过拟合控制、整体拟合精度和平均误差控制的最保守要求。若最大值过大,优先减少候选参数、寻找更可靠的预期 \(R^2\),或重新评估研究是否适合开发预测模型,而不是事后随意降低 shrinkage 要求。
论文描述应写明使用 pmsampsize 包、连续结局预测模型、候选预测参数个数、预期 \(R^2\)、目标 shrinkage 和无效/缺失数据率。敏感性分析建议改变 \(R^2\)、候选参数个数和 shrinkage。
11.23 多因素 Logistic 回归预测
11.23.1 先判断是不是这个模块
多因素 Logistic 回归预测模块用于开发二分类结局预测模型,例如预测术后并发症、30 天再入院、治疗应答或疾病发生风险。它与单因素 Logistic 回归不同:这里关注的是模型整体能否稳定预测,而不是某一个 OR 是否显著。
11.23.2 研究例子:预测术后并发症
假设研究者准备建立术后并发症预测模型,候选预测参数 10 个,既往资料显示并发症发生率约 20%。如果已有类似模型,可从文献中获得 Cox-Snell \(R^2\);如果只有 C-statistic(AUC),软件也可用 AUC 近似换算 Cox-Snell \(R^2\)。
参数含义:
- 候选预测参数个数 \(p\):不是变量个数,而是模型自由度。例如一个 4 水平分类变量需要 3 个参数。
- 结局事件率:用于估计事件数和 EPP。
- Cox-Snell \(R^2\) 或 C-statistic:反映模型预期预测能力。
- shrinkage:控制过拟合,常用目标值 0.90。
在二分类 Logistic 预测模型中,C-statistic 与 AUC 数值相等,因此软件界面在 C-statistic 后注明 AUC,便于从诊断预测模型文献中提取参数。若文献没有 Cox-Snell \(R^2\),但报告了 AUC,可用软件中的转换选项作为近似;正式论文中应说明这一点。
11.23.3 软件操作与报告
本模块使用 pmsampsize 包的二分类结局预测模型准则。R 包法论文描述应写明 pmsampsize、Riley 等方法、结局事件率、候选预测参数个数、拟合度来源、目标 shrinkage 和最终样本量。若使用 C-statistic 估计 \(R^2\),应在方法中说明这一转换。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
操作时,先确认研究目标是“开发预测模型”,而不是检验某个 OR。如果研究计划建立术后并发症风险评分或机器学习/回归预测模型,就属于本模块;如果只是研究吸烟是否与并发症有关,应回到单因素 Logistic 回归模块。参数填写顺序建议为:候选预测参数个数、结局事件率、Cox-Snell \(R^2\) 或 C-statistic、目标 shrinkage、无效/缺失数据率。
若只有 AUC/C-statistic,没有 Cox-Snell \(R^2\),软件提供的换算只是样本量规划用近似。此时在论文 Methods 中应写明“根据文献报告的 C-statistic 估计 Cox-Snell \(R^2\)”,并在敏感性分析中改变 C-statistic 或 \(R^2\)。事件率较低时,不要只看总样本量,还应查看预计事件数和 EPP 是否足够。
敏感性分析建议改变事件率、候选参数个数、Cox-Snell \(R^2\) 或 C-statistic。事件率越低、候选参数越多,所需样本量通常越大。
11.24 多因素 Cox 回归预测
11.24.1 先判断是不是这个模块
多因素 Cox 回归预测模块用于开发时间至事件结局预测模型,例如预测 2 年复发风险、无进展生存或死亡风险。与单因素 Cox 回归不同,这里不是检验某一个 HR,而是规划一个多因素预测模型的开发样本量。
11.24.2 研究例子:预测 2 年复发风险
假设研究者希望建立肿瘤术后 2 年复发风险预测模型,候选预测参数 10 个,预计总体事件率为每年 0.08,平均随访 2.5 年,预测时间点为 2 年,预期 Cox-Snell \(R^2=0.05\),目标 shrinkage 为 0.90。
这里的“无效/缺失数据率”只指关键变量缺失或无法用于建模的样本比例,不指右删失。右删失通过事件率、平均随访时间和预测时间点进入 pmsampsize 的生存结局计算。
| 参数 | 本例设定 | 说明 |
|---|---|---|
| 候选预测参数个数 \(p\) | 10 | 多水平分类变量需按自由度计数 |
| 总体事件率 | 0.08/年 | 可来自既往队列或登记研究 |
| 平均随访时间 | 2.5 年 | 反映可观察人时 |
| 预测时间点 | 2 年 | 例如预测 2 年复发风险 |
| Cox-Snell \(R^2\) | 0.05 | 预期模型解释度 |
| 目标 shrinkage | 0.90 | 控制过拟合 |
11.24.3 软件操作与报告
本模块使用 R 软件 pmsampsize 包的生存结局预测模型准则。结果区会显示有效总样本量、预计事件数、总人时、EPP 和无效/缺失调整后入组人数。论文描述应说明使用 pmsampsize 包、候选预测参数个数、事件率、预测时间点、平均随访时间、预期 Cox-Snell \(R^2\) 和目标 shrinkage。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
填写本模块时,最容易混淆的是“事件率”“平均随访时间”和“预测时间点”。事件率描述单位时间内发生事件的风险水平,平均随访时间描述研究中每名受试者大约能贡献多少随访时间,预测时间点则是模型最终要预测的时间范围,例如 2 年复发风险。三者需要在同一时间单位下理解。
如果既往文献只报告 2 年复发率,而没有直接报告事件率,可先咨询统计师或根据生存曲线/指数近似进行换算;不建议把固定时间点复发率直接当作年事件率填入。结果解释时同样要关注事件数:总样本量再大,如果预测时间点内事件太少,多因素 Cox 预测模型仍可能过拟合。
敏感性分析应重点改变事件率、候选参数个数和 \(R^2\)。在生存预测模型中,事件数往往比总样本量更关键;如果总体样本量看似可行但预计事件数很少,模型仍可能不稳定。
11.25 Pearson 相关
11.25.1 先判断是不是这个模块
Pearson 相关模块用于两个连续变量之间线性相关的样本量计算。例如血清标志物与肿瘤体积、年龄与肺功能指标、影像定量参数与病理评分之间是否存在线性相关。若变量明显偏态、等级资料或关系非线性,应先考虑转换、Spearman 相关或其他模型。
本模块适合研究问题写成“变量 X 与变量 Y 是否存在线性相关”。如果研究目标是“X 每增加 1 单位,Y 平均改变多少”,应考虑线性回归模块;如果需要调整混杂因素,也不应只按简单 Pearson 相关设计。
11.25.2 研究例子:标志物与肿瘤体积相关
假设研究者希望检验某血清标志物与影像测量肿瘤体积之间是否相关。既往小样本研究提示相关系数约 \(r=0.30\)。研究者采用双侧 \(\alpha=0.05\)、power = 80%,预计 10% 样本因检测失败或影像质量不足而无效。
参数来源可以这样准备:
| 参数 | 本例设定 | 如何获得 |
|---|---|---|
| 目标相关系数 \(r\) | 0.30 | 来自同类研究或预试验 |
| \(\alpha\) / power | 0.05 / 0.80 | 常用双侧设计约定 |
| 无效/缺失数据率 | 10% | 预计检测失败、影像质量不足或数据缺失 |
11.25.3 计算方法与报告
本模块提供 Fisher z 转换近似公式和 pwr 包 Pearson 相关功效函数。公式法适合需要在论文中展示 Fisher z 转换来源的场景;R 包法应说明使用 pwr 包的 pwr.r.test。敏感性分析建议改变 \(r\),因为相关系数从 0.30 降到 0.25 时,样本量会明显增加。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
操作时只需要输入目标相关系数、\(\alpha\)、power 和无效/缺失数据率,但研究设计上要先确认两个变量都适合按连续变量处理。例如肿瘤体积和标志物浓度若明显偏态,正式分析可能需要对数转换;样本量假设中的相关系数也应尽量来自同样转换后的文献或预试验。
结果区会分别展示公式法和 R 包法。公式法便于在开题报告或论文中说明 Fisher z 转换;R 包法便于复现和审稿核对。若两种方法样本量略有差异,正式报告时固定一种方法即可,不要在正文中混用两个结果。
论文描述中应说明两个变量均按连续变量处理,并报告预期相关系数、检验方向、\(\alpha\)、power 和缺失数据调整。若变量需要转换,例如对偏态标志物取对数,应在研究方案和样本量描述中保持一致。
11.26 ICC 组内相关
11.26.1 先判断是不是这个模块
ICC 模块用于连续评分或连续测量的一致性/可靠性研究。例如多名医生对同一批影像进行连续评分,同一仪器重复测量某生理指标,或多个评估者对同一量表总分进行评分。若结局是分类判断,应使用 Kappa 一致性模块。
11.26.2 研究例子:多名医生影像评分一致性
假设 3 名医生分别对同一批影像进行严重程度评分,研究者预计 ICC 约为 0.80,希望 95% 置信区间总宽度不超过 0.20。每名受试者/样本会被 3 名医生评分,因此总评分次数等于受试者数乘以评分次数 \(k\)。
这里的“样本量”通常指被评分的受试者、影像或标本数量,不是评分次数。若软件计算需要 50 份影像、每份影像由 3 名医生评分,则总评分次数为 \(50\times3=150\) 次。计划工作量和伦理材料中常常需要同时报告这两个数字。
11.26.3 计算方法与报告
本模块采用 Bonett 公式并通过 presize 包实现,用于根据预期 ICC、评分次数、置信水平和目标 CI 宽度规划样本量。论文描述应报告预期 ICC、评分次数、目标置信区间宽度、受试者/样本数和总评分次数。敏感性分析建议改变 ICC 和 CI 宽度。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
操作前先决定 ICC 类型和研究对象。软件中的样本量通常指“被评分对象”的数量,例如影像张数、患者数或标本数;评分者人数 \(k\) 决定每个对象会产生几次评分。若目标是估计 ICC 的精度,选择“求样本量”并填写目标 CI 总宽度;若已有固定样本数,只想知道能得到多宽的置信区间,则选择“求置信区间宽度”。
结果区应同时查看样本数和总测量/评分次数。伦理申请和工作量安排中,前者决定入组对象数量,后者决定评估者实际工作负担。比如 60 份影像、3 名医生评分,统计样本量是 60,实际评分次数是 180;这两个数字在说明书和论文中最好都交代。
如果研究者选择“求置信区间宽度”,软件会在给定样本量、评分次数和预期 ICC 下反算可达到的 CI 宽度;如果选择“求样本量”,则根据目标 CI 宽度规划需要多少受试者/样本。正式报告时要写清楚求解目标,避免把“样本数”和“评分总次数”混为一谈。
11.27 ROC 曲线 / AUC
11.27.1 先判断是不是这个模块
ROC/AUC 模块用于诊断试验或预测指标研究中估计 AUC 的精度。目标不是检验 AUC 是否显著大于 0.5,而是希望 AUC 的置信区间足够窄。例如评价一个血清标志物诊断某疾病的能力,预期 AUC 为 0.75,希望 95% CI 总宽度不超过 0.10。
本模块适用于病例和非病例均可明确判定的研究。若研究目标是估计某个固定阈值下的灵敏度或特异度,应使用“灵敏度/特异度”模块;若目标是开发多因素预测模型,应使用多因素 Logistic 回归预测模块。
11.27.2 参数与操作
需要输入预期 AUC、病例比例、置信水平、目标 AUC CI 总宽度和预计无效/缺失数据率。软件使用 presize 包进行 AUC 置信区间宽度法样本量规划,并给出病例数、对照数、有效总样本量和实际入组人数。
| 参数 | 示例 | 含义 |
|---|---|---|
| 预期 AUC | 0.75 | 来自预试验或同类诊断研究 |
| 病例比例 | 0.40 | 研究样本中病例占比;病例对照研究可由设计决定 |
| 目标 CI 总宽度 | 0.10 | 希望 95% CI 不超过 0.70 到 0.80 这类宽度 |
| 无效/缺失数据率 | 10% | 检测失败、金标准缺失或样本质量不足 |
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
操作时,先确定研究设计是病例对照抽样还是连续入组诊断研究。病例对照研究中病例比例常由设计控制;连续入组研究中病例比例更接近目标临床场景的患病率。软件中的病例比例会影响病例数和对照数分配,因此不要把人为配比和真实患病率混在一起解释。
结果区给出的重点是 AUC 估计精度,而不是显著性检验。论文描述中应写“为使 AUC 的 95% 置信区间总宽度不超过某值而估算样本量”,并同时报告病例数和非病例数。如果研究还要评价固定阈值下的灵敏度和特异度,应另外使用灵敏度/特异度模块分别核算。
敏感性分析建议改变 AUC 和目标 CI 宽度。AUC 越接近 0.5 或希望 CI 越窄,所需样本量通常越大。
11.28 灵敏度 / 特异度
11.28.1 先判断是不是这个模块
灵敏度/特异度模块用于诊断准确度研究中估计灵敏度或特异度,并希望其置信区间足够窄。灵敏度是在病例中估计的比例,因此先决定需要多少病例;特异度是在非病例中估计的比例,因此先决定需要多少非病例;总样本量再由目标人群患病率换算。
11.28.2 研究例子:新检测试剂的灵敏度评估
假设研究者希望评价新检测试剂诊断某感染的灵敏度。预期灵敏度为 0.85,希望 95% CI 总宽度不超过 0.10,目标人群患病率约 20%。软件先估计需要多少确诊病例,再按患病率换算总入组人数。
如果研究者希望同时保证灵敏度和特异度的精度,应分别计算“灵敏度所需总样本量”和“特异度所需总样本量”,最终选择更大的样本量。病例对照设计中病例数和对照数常由设计直接决定;连续入组诊断研究中,总入组人数则强烈依赖患病率。
11.28.3 计算方法与报告
本模块使用 presize 包的 Wilson 置信区间宽度法。论文描述应写明评估的是灵敏度还是特异度、预期值、置信水平、目标 CI 宽度、患病率和无效/缺失调整。敏感性分析建议改变预期灵敏度/特异度、患病率和 CI 宽度。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
填写参数时先选择评价目标。若目标是灵敏度,核心样本量是“确诊病例数”;若目标是特异度,核心样本量是“非病例数”。软件再根据目标人群患病率换算总入组人数。比如某门诊目标患病率只有 10%,即使只需要 100 名病例,也可能需要约 1000 名连续入组受试者才能获得足够病例。
若一项诊断研究同时希望灵敏度和特异度的置信区间都足够窄,应分别运行两次:一次选择灵敏度,一次选择特异度。最终方案通常取两次计算中更大的总样本量,并在论文中分别报告所需病例数和所需非病例数。
报告时不要只写“总样本量”。灵敏度研究应同时报告所需病例数;特异度研究应同时报告所需非病例数。若按患病率换算总入组人数,应说明该患病率来自目标临床场景,而不是病例对照样本中的人为比例。
11.29 Kappa 一致性
11.29.1 先判断是不是这个模块
Kappa 一致性模块用于分类结局的一致性研究。例如两名或多名医生把同一批病理切片分为阴性/阳性,或把影像分为低危/中危/高危。若评分是连续数值,应使用 ICC 模块;若只是比较两种检测方法阳性率是否不同,应使用配对比例模块。
11.29.2 研究例子:病理医生分类一致性
假设 2 名病理医生独立判读同一批切片,并将结果分为阴性/阳性。研究者预计 Kappa = 0.60,希望 95% CI 总宽度不超过 0.20。既往资料显示阳性比例约 30%、阴性比例约 70%,预计 10% 切片因质量问题无法评价。
本例需要准备的参数包括:
| 参数 | 本例设定 | 如何理解 |
|---|---|---|
| 评估者人数 | 2 | 两名病理医生 |
| 类别数 | 2 | 阴性、阳性 |
| 类别比例 | 0.70, 0.30 | 来自既往病理分布或预试验 |
| 预期 Kappa | 0.60 | 希望估计的一致性水平 |
| 目标 CI 总宽度 | 0.20 | 置信区间越窄,所需样本量越大 |
| 无效/缺失率 | 10% | 切片质量差或无法判读 |
11.29.3 计算方法与报告
本模块使用 presize 包的 prec_kappa,底层调用 kappaSize 包的 Kappa 置信区间样本量方法,方法学来源为 Rotondi 与 Donner 关于多评估者、多类别一致性研究的置信区间样本量方法。论文描述应报告预期 Kappa、评估者人数、类别数、类别比例、置信水平、目标 CI 宽度、样本数和总评分次数。
参数设置时,先看左侧面板:计算方法、求解目标和主要参数都在这里完成。下图展示的是本模块的示例设置;实际使用时,应把前文医学研究例子中确定的参数填入相应输入框。
点击“计算主要结果”后,再看右侧主面板。右侧会按本模块的方法展示计算结果、公式代入或 R 软件包计算过程、论文描述和参考文献;若模块提供 R 包法,还会显示 R 代码和原始输出。
操作时先把分类规则固定下来。例如“阴性/阳性”是 2 类,“低危/中危/高危”是 3 类;类别比例应来自既往病例构成、预试验或预计入组人群,而不是随便平均分配。类别比例越不均衡,Kappa 的估计越不稳定,所需样本量可能明显增加。
结果区中的样本量指需要判读的对象数量。若 2 名评估者判读 120 张切片,总判读次数是 240 次;若 3 名评估者判读 120 张切片,总判读次数是 360 次。写方案时建议同时报告这两个数字,让研究团队能评估真实工作量。
与 ICC 类似,Kappa 模块中的样本量通常指需要判读的病例、切片或影像数量。实际工作量还要乘以评估者人数,例如 120 张切片由 2 名医生判读,总判读次数为 240 次。若类别比例很不均衡,例如阳性比例只有 5%,即使预期 Kappa 不低,也可能需要明显更大的样本量。
11.29.4 Word 报告下载
上述样本量模块均保留“下载word文档(论文中的样本量计算部分)”标签页。完成主要计算后可导出 Word 报告;如已生成敏感性分析,报告会把敏感性分析表格附在正文后。公式法和 R 包法会分节整理;如果模块使用 R 包,报告末尾附录会保留 R 代码和 R 原始输出,便于统计复核。主页面中的计算结果表格通常作为附录或核对材料使用,论文正文应优先采用“论文描述”段落,并按研究背景微调。
11.29.5 参考文献
- Chow SC, Shao J, Wang H. Sample Size Calculations in Clinical Research. New York: Marcel Dekker; 2003.
- Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum; 1988.
- Champely S. pwr: Basic Functions for Power Analysis. R package version 1.3-0; 2020. doi:10.32614/CRAN.package.pwr.
- Zhang E, Wu VQ, Chow SC, Zhang HG. TrialSize: R Functions for Chapter 3,4,6,7,9,10,11,12,14,15 of Sample Size Calculation in Clinical Research. R package version 1.4.1; 2024. doi:10.32614/CRAN.package.TrialSize.
- Cook JA, Julious SA, Sones W, Hampson LV, Hewitt C, Berlin JA, et al. DELTA2 guidance on choosing the target difference and undertaking and reporting the sample size calculation for a randomised controlled trial. BMJ. 2018;363:k3750. doi:10.1136/bmj.k3750.
- The SPRINT Study Research Group. The design and rationale of a multi-center clinical trial comparing two strategies for control of systolic blood pressure: The Systolic Blood Pressure Intervention Trial (SPRINT). Clinical Trials. 2014;11(5):532-546. doi:10.1177/1740774514537404.
- Chen H, Zhang N, Lu X, Chen S. Caution regarding the choice of standard deviations to guide sample size calculations in clinical trials. Clinical Trials. 2013;10(4):522-529. doi:10.1177/1740774513490250.
- Wan X, Wang WQ, Liu JM, Tong TJ. Estimating the sample mean and standard deviation from the sample size, median, range and/or interquartile range. BMC Medical Research Methodology. 2014;14:135.
- Higgins JPT, Thomas J, Chandler J, Cumpston M, Li T, Page MJ, Welch VA, editors. Cochrane Handbook for Systematic Reviews of Interventions. Chapter 23: Including variants on randomized trials.
- Bijur PE, Chang AK, Esses D, Gallagher EJ. The minimum clinically significant difference in patient-assigned numeric scores for pain. American Journal of Emergency Medicine. 2005;23(7):828-832. doi:10.1016/j.ajem.2005.07.009.
- Calhoun P. Exact: Unconditional Exact Test. R package version 3.3; 2024. doi:10.32614/CRAN.package.Exact.
- Berger RL, Sidik K. Exact unconditional tests for 2 x 2 matched-pairs design. Statistical Methods in Medical Research. 2003;12(2):91-108.
- Zhang Z, Mai Y. WebPower: Basic and Advanced Statistical Power Analysis. R package version 0.9.4; 2023. doi:10.32614/CRAN.package.WebPower.
- Kamal M. SampleSizeSingleArmSurvival: Calculate Sample Size for Single-Arm Survival Studies. R package version 0.1.0; 2025. doi:10.32614/CRAN.package.SampleSizeSingleArmSurvival.
- Anderson K. gsDesign: Group Sequential Design. R package version 3.9.0; 2026. doi:10.32614/CRAN.package.gsDesign.
- Schoenfeld D. The asymptotic properties of nonparametric tests for comparing survival distributions. Biometrika. 1981;68(1):316-319.
- Lachin JM, Foulkes MA. Evaluation of sample size and power for analyses of survival with allowance for nonuniform patient entry, losses to follow-up, noncompliance, and stratification. Biometrics. 1986;42(3):507-519.
- Dupont WD, Plummer WD Jr. Power and sample size calculations for studies involving linear regression. Controlled Clinical Trials. 1998;19:589-601.
- Hsieh FY, Bloch DA, Larsen MD. A simple method of sample size calculation for linear and logistic regression. Statistics in Medicine. 1998;17(14):1623-1634.
- Signorini DF. Sample size for Poisson regression. Biometrika. 1991;78(2):446-450.
- Qiu W. powerMediation: Power/Sample Size Calculation for Mediation Analysis. R package version 0.3.4; 2021. doi:10.32614/CRAN.package.powerMediation.
- Aaby D. regpoweR: Power and Sample Size Calculation for Logistic and Poisson Regression. R package version 0.1.0; 2026. https://github.com/aabydava/regpoweR.
- Schoenfeld DA. Sample-size formula for the proportional-hazards regression model. Biometrics. 1983;39(2):499-503.
- Riley RD, Ensor J, Snell KIE, Harrell FE Jr, Martin GP, Reitsma JB, et al. Calculating the sample size required for developing a clinical prediction model. BMJ. 2020;368:m441. doi:10.1136/bmj.m441.
- Ensor J. pmsampsize: Sample Size for Development of a Prediction Model. R package version 1.1.3; 2023. doi:10.32614/CRAN.package.pmsampsize.
- Fisher RA. On the probable error of a coefficient of correlation deduced from a small sample. Metron. 1921;1:3-32.
- Haynes AG, Lenz A, Stalder O, Limacher A.
presize: An R-package for precision-based sample size calculation in clinical research. Journal of Open Source Software. 2021;6(60):3118. doi:10.21105/joss.03118. - Bonett DG. Sample size requirements for estimating intraclass correlations with desired precision. Statistics in Medicine. 2002;21(9):1331-1335. doi:10.1002/sim.1108.
- Hanley JA, McNeil BJ. The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology. 1982;143(1):29-36.
- Brown LD, Cai TT, DasGupta A. Interval estimation for a binomial proportion. Statistical Science. 2001;16(2):101-133.
- Rotondi MA. kappaSize: Sample Size Estimation Functions for Studies of Interobserver Agreement. R package version 1.2; 2018. doi:10.32614/CRAN.package.kappaSize.
- Rotondi MA, Donner A. A confidence interval approach to sample size estimation for interobserver agreement studies with multiple raters and outcomes. Journal of Clinical Epidemiology. 2012;65(7):778-784. doi:10.1016/j.jclinepi.2011.10.019.