样本容量过小,信息不充分,所得指标不够稳定,抽样误差较大,结论的可靠性差,用于推断总体的精度差,检验效能低,会导致总体中存在的差异未能检验出来,出现假阴性的结果。样本容量过大,花费的人力、物力、财力和时间较大,还会增加工作中质量控制的难度,样本量过大还可能引入更多的混杂因素,对研究结果产生不良影响。常见样本容量的影响因素如下1.第一类错误的大小\(\alpha\)(或置信度为\(1-\alpha\)),\(\alpha\)越小所需的样本容量越大。2.第二类错误的大小\(\beta\)\(\beta\)越小,检验效能\(1-\beta\)越大,所需的样本量也越大,一般要求检验效能不低于0.8。在参数估计的样本容量估计中不设计\(\beta\)。3.容许误差d,是指研究者要求的或者客观存在的样本统计量和总体参数间或样本统计量间的差值,或专业上认为有意义的最小差值,容许误差越小,所需样本两越大。4.总体标准差s或者总体率p,常根据预实验以及既往资料进行估计,其值越大或远离0.5时,所需样本量越大。通常在抽样调查和临床试验的设计中,需要估算样本含量以保证结果的可靠。

临床研究的目的不同 ,所采用的样本含量估算方法也不同。 在临床试验过程 ,需要区分是做显著性检验(significance test), 还是区间假设检验(interval hypotheses test)。显著性检验 (significance test)用于推断两个样本是否来自同一总体, 它的检验假设为两组相等的零假设 ,即样本来自同一总体。 其无效假设为\(H_{0}\ \mu _{T}= \mu _{P}\),备择假设为\(H_{1}\ \mu _{T}\neq \mu _{P}\) ,T(test)为试验组,P(placebo)为安慰剂组。临床试验中,对于两组疗效的评价 ,显著性检验结果不能评价差别的实际大小,更不能说明差别是否有临床实际意义 ,只能说明两组的疗效是否来自不同的总体。在临床中往往是要确认新药是否不差于或相当于甚至优于标准的有效药物 ,所以通常采用非劣效/等效/优效检验。它们的检验假设不再是一个点,而是一个区间,所以又可称之为“区间假设”(interval hypothesis)或“区间检验” (interval test) 。区间假设检验包括了等效性检验(equiv alencetest)、非劣效性检验(noninferiority test)与优效性检验(superiority test)。 非劣效性试验指主要研究目的是显示对试验药的反应在临床意义上不差于(非劣于)对照药的试验,如果治疗差异(试验药的疗效-对照药的疗效)>0,则试验药的疗效较好;治疗差异<0,则对照药疗效较好;如果允许试验药疗效比对照药疗效低一定范围,仍然认为两药疗效相当,即确定\(\Delta\)表示临床意义上判断疗效不差所允许的最大差异值,则如果治疗差异>-\(\Delta\),便是试验药非劣效于对照药,此处的\(\Delta\)称为非劣效试验的判断界值(margin)。非劣效试验的原假设为\(H_{0}\ \mu _{T}- \mu _{S}\geqslant -\delta\),备择假设为\(H_{1}\ \mu _{T}- \mu _{S}< -\delta\),S(standard)为标准组,T(test)为试验组,通常用于与已上市的有效药物或标准治疗方案进行比较以求能提供一个新的治疗选择。等效性检验指主要研究目的是要显示两种或多种处理的反应间差异的大小在临床上并无重要性的试验,通常通过显示真正的差异在临床上可以接受的等效的上下界值之间来证实其原假设为\(H_{0}\ |\mu _{T}- \mu _{S}|\geqslant \delta\),备择假设为\(H_{0}\ |\mu _{T}- \mu _{S}|< \delta\)为等效标准,也称界值 ) ,只有两组假设同时成立 ,才认为等效,多见于对同一活性成分的生物等效性以及血浆无法测定时的临床等效验证。优效性试验指主要研究目的是显示所研究的药物的反应优于对比制剂(阳性或安慰剂对照),优效性试验的原假设为\(H_{0}\ \mu _{T}- \mu _{S}\leqslant \delta\),备择假设为\(H_{1}\ \mu _{T}- \mu _{S}> \delta\),通常用于具有某方面优势的在新研发的试验药,一般需要与安慰剂进行优效性试验以比较其真正的疗效和安全性,来判断其上市的利益风险。如果当前已有曾经优效性试验证实的有效药物的话,还常常与其进行比较,并判定待验证药物的疗效至少不差于(非劣于)已有有效药物作为其上市的最低标准。临床试验中,(临床)界值的选择,应由研究者与统计学家共同商定,是基于统计推理及临床判断的双重考虑;若无公认界值,可参考EMEA《Guideline on the choice of the non-inferiority margin》及《Issues on the selection of non-inferiority margin in clinical trials》等文献.

随机对照临床试验(randomized clinical trial,RCT)是临床试验中比较重要的试验,根据设计方案,常分为平行设计、交叉设计、析因设计和序贯设计。除序贯设计不需事先估计样本含量外,其余设计均需要估计样本含量。(1) 平行设计(parallel design):将研究对象随机分配到两组(或多组),分别接受不同的处理,两组同时开始进行研究,同时分析和比较研究结果。平行设计的双盲随机对照试验是临床试验的金标准。(2) 交叉设计(cross-over design)四队两组受试者使用两种不同的处理措施,然后将处理措施相互交换,最后将结果进行对比分析的方法。这种设计比平行设计检验效率更高,所需样本量也少。但第一阶段干预效应可能会对第二阶段有影响,产生遗留效应或其他交互效应,设计和分析比较复杂。还存在试验周期较长等不足。(3)析因设计(factorial design)是将两个或多个以上的处理因素的各水平进行组合,对各种可能的组合都进行实验,用以评价不同处理的单独作用和联合应用的交互效应。析因设计可以分析处理交互因素,但设计和分析也比较复杂。(4)序贯设计(sequential design)在试验前不规定样本,按照先后顺序用随机化方法分配进入实验组或对照组,每试验一个或一对受试者后,及时进行分析,一旦可以判定结果,即可停止试验。序贯设计符合临床患者陆续就医的实际,比较适合以单一指标做为结论依据的新药和老药或新药和安慰剂的配对比较,节省人力物力,但不适用于慢性病、多变量、长期随访等研究设计。在本章中,对微阵列数据基于族错误率(FWER)样本量计算和基于贝叶斯统计的样本量计算未能用R语言实现。

均数比较的样本量估计(Comparing Means)

单组设计(One-Sample Design)

没有对照组的开放设计为单组设计,常用于治疗组数据与标准公认值比较或基线数据与治疗后数据的分析比较。 ####显著性性检验 当标准差为\(\sigma^{2}\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值(样本均值与某参考值的差值,或者,在配对设计中,配对个体观察值之差的均数,或试验组终点与基线之差的均数)为\(\epsilon\),样本容量为\(n= \frac{(z_{\alpha/2}+z_{\beta})^{2}\sigma ^{2}}{\epsilon ^{2}}\)

例 已知某社区50~70岁男性的平均收缩压为158mmHg,标准差为18mmHg。用某新型药品治疗后,差值为10mmHg,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

OneSampleMean.Equality(0.05,0.1,18,10)
## [1] 34.04405

当标准差未知检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon\),样本容量为\(n= \frac{(t_{\alpha/2}+t_{\beta})^{2}\sigma ^{2}}{\epsilon ^{2}}\)

例 已知某社区50~70岁男性的平均收缩压总体方差未知,样本标准差为18mmHg,用某新型药品治疗后,差值为10mmHg,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量? 总体方差未知的情况下,一般采用t分布代替z分布。使用t分布时,假设了初始值,采用迭代算法。

OneSampleMean.Equality2 <- function(alpha, beta, sigma, margin,m=1000)
{
  t0<-qt(alpha/2,m,lower.tail=FALSE)+qt(beta,m,lower.tail=FALSE)
  n0 <- (t0*sigma/margin)^2
  t1 <- qt(alpha/2,n0,lower.tail=FALSE)+qt(beta,n0,lower.tail=FALSE)
  n1<-(t1*sigma/margin)^2
  while(abs(n1-n0)>0.5){
    n0<-((qt(alpha/2,n1,lower.tail=FALSE)+qt(beta,n1,lower.tail=FALSE))*sigma/margin)^2
    n1<-((qt(alpha/2,n0,lower.tail=FALSE)+qt(beta,n0,lower.tail=FALSE))*sigma/margin)^2
  }
  n1
}

OneSampleMean.Equality2(0.05,0.1,18,10)
## [1] 36.00598

非劣效/优效性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon\)\(\delta\)具有临床意义的界值,进行非劣效性检验,界值应为负值,若进行优效性检验,界值为正值。样本容量为\(n= \frac{(z_{\alpha}+z_{\beta})^{2}\sigma ^{2}}{(\epsilon -\delta ) ^{2}}\)

例 一项临床试验研究新型降压药治疗高血压的作用,对某社区50~70岁平均收缩压为158mmHg,标准差为18mmHg的男性进行治疗,进行非劣性设计。如果认为有临床价值界值为10mmHg,差值为8mmHg,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

OneSampleMean.NIS(0.05,0.1,18,8,-10)
## [1] 8.563847

等效性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon\)\(\delta\)具有临床意义的界值,样本容量为\(n= \frac{(z_{\alpha}+z_{\beta/2})^{2}\sigma ^{2}}{(\delta -|\epsilon|) ^{2}}\)

例 一项临床试验研究新型降压药治疗高血压的作用,对北京某社区50~70岁平均收缩压为158mmHg,标准差为18mmHg的男性进行治疗,进行等效性检验。如果认为有临床价值界值为10mmHg,差值为8mmHg,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

OneSampleMean.Equivalence(0.05,0.1,18,8,10)
## [1] 693.6716

两组平行设计(Two-Sample Parallel Design)

显著性性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon=\mu _{test}-\mu_{reference}\),样本容量为\(n_{c}= \frac{(z_{\alpha/2}+z_{\beta})^{2}\sigma ^{2}(1+1/k)}{\epsilon ^{2}}\)\(n_{t}=kn_{2}\),k为实验组/对照组即\(k=\frac{n_{t}}{n_{c}}\)

例 为研究某地正常成年男、女末稍血液的红细胞的差别,据文献报道,男性红细胞均数为465万/mm3 ,女性红细胞均数为422万/mm3,标准差为52万/mm3,1:1平行对照设计,取双侧\(\alpha=0.05\),\(\beta=0.1\),问要抽查多少人才能发现男女间红细胞的差别?

n <- TwoSampleMean.Equality(0.05,0.1,52,1,43) #465-422=43
n
## [1] 30.73237

每组样本量为31人。若实验组和对照组方差齐性采用Pooled合并方差(Pooled varance)计算样本量;若两组方差不齐,则使用Welch–Satterthwaite方程对自由度进行近似的方法计算样本量。

非劣效/优效性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon=\mu _{test}-\mu_{reference}\),样本容量为\(n_{c}= \frac{(z_{\alpha/2}+z_{\beta})^{2}\sigma ^{2}(1+1/k)}{(\epsilon-\delta)^{2}}\)\(n_{t}=kn_{2}\),k为实验组/对照组即\(k=\frac{n_{t}}{n_{c}}\)

例 为研究某地正常成年男、女末稍血液的红细胞的差别,据文献报道,男性红细胞均数为465万/mm3 ,女性红细胞均数为422万/mm3,标准差为52万/mm3,1:1平行对照设计,取双侧\(\alpha=0.05\),\(\beta=0.1\),界值为10mmHg,进行非劣性设计,要抽查多少人才能发现男女间红细胞的差别?

n <- TwoSampleMean.NIS(0.05,0.1,52,1,-10,43)
n
## [1] 16.48746

每组样本量为17人。若实验组和对照组方差齐性采用Pooled合并方差(Pooled varance)计算样本量;若两组方差不齐,则使用Welch–Satterthwaite方程对自由度进行近似的方法计算样本量。

等效性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon=\mu _{test}-\mu_{reference}\),样本容量为\(n_{c}= \frac{(z_{\alpha/2}+z_{\beta})^{2}\sigma ^{2}(1+1/k)}{(\epsilon-|\delta|)^{2}}\)\(n_{t}=kn_{2}\),k为实验组/对照组即\(k=\frac{n_{t}}{n_{c}}\)

例 为研究某地正常成年男、女末稍血液的红细胞的差别,据文献报道,男性红细胞均数为465万/mm3 ,女性红细胞均数为422万/mm3,标准差为52万/mm3,1:1平行对照设计,取双侧\(\alpha=0.05\),\(\beta=0.1\),界值为10mmHg,进行等效性设计,要抽查多少人才能发现男女间红细胞的差别?

n <- TwoSampleMean.Equivalence(0.05,0.1,52,1,10,43)
n
## [1] 53.74317

每组样本量为53人。若实验组和对照组方差齐性采用Pooled合并方差(Pooled varance)计算样本量;若两组方差不齐,则使用Welch–Satterthwaite方程对自由度进行近似的方法计算样本量。

两组交叉设计(Two-Sample Crossover Design)

两组交叉设计的样本量估计公式也适用配对设计、交叉配对设计和随机区组配对设计。 ####显著性性检验 当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon=\mu _{test}-\mu_{reference}\),样本容量为\(n=\frac{(z_{\alpha/2}+z_{\beta})^{2}\sigma ^{2}_{m}}{2\epsilon ^{2}}\)

例 AAA 药品和对照药品治疗高血压,患者先服用对照药品 1 个月,洗脱2 周,再服用 AAA 1 个月,另一组反之。如果 AAA 能够比对照药品平均多降低收缩压 5mmHg(差值),则认为有推广价值。预试验差值标准差为 10。选用 α=0.05,Power=90%, 双侧显著性检验,需要多少样本含量?

TwoSampleCrossOver.Equality(0.05,0.1,10,5)
## [1] 21.01485

非劣效/优效性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon=\mu _{test}-\mu_{reference}\),样本容量为\(n=\frac{(z_{\alpha}+z_{\beta})^{2}\sigma ^{2}_{m}}{2(\epsilon -\delta )^{2}}\)

例 AAA 药品和对照药品治疗高血压,患者先服用对照药品 1 个月,洗脱2 周,再服用 AAA 1 个月,另一组反之。如果 AAA 能够比对照药品平均多降低收缩压 5mmHg(差值),则认为有推广价值。预试验差值标准差为 10。选用 α=0.05,Power=90%, 界值为1,双侧非劣效检验,需要多少样本含量?

TwoSampleCrossOver.NIS(0.05,0.1,10,-1,5)
## [1] 11.89423

等效性检验

当差值的标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon=\mu _{test}-\mu_{reference}\),样本容量为\(n=n=\frac{(z_{\alpha}+z_{\beta/2})^{2}\sigma ^{2}_{m}}{2(\epsilon -|\delta|)^{2}}\)

例 AAA 药品和对照药品治疗高血压,患者先服用对照药品 1 个月,洗脱2 周,再服用 AAA 1 个月,另一组反之。如果 AAA 能够比对照药品平均多降低收缩压 5mmHg(差值),则认为有推广价值。预试验差值标准差为 10。选用 α=0.05,Power=90%, 界值为1,双侧等效性检验,需要多少样本含量?

TwoSampleCrossOver.Equivalence(0.05,0.1,10,1,5)
## [1] 26.76202

多组设计(Multiple-Sample One-Way ANOVA)

平行设计

该设计考察的试验因素只有一个,并且该因素的水平(组数)\(k\geqslant 3\),用来考察各组观察指标总体均数之间的差别是否有统计学意义。\(\Delta =\frac{1}{\sigma ^{2}}\sum_{i=1}^{k}(\mu _{i}-\bar{\mu})^{2},\bar{\mu}=\frac{1}{k}\sum_{j=1}^{k}\mu_{j}\),样本量\(n=\lambda/\Delta\),其中\(\sigma\)为标准差,k为组数,\(\mu_{1}\)为各组的平均数,\(\bar{\mu}\)为各组平均数的平均数。\(\lambda\)需要查询下表。

\(k\) \(\alpha=0.01\) \(\alpha=0.05\) \(\alpha=0.01\) \(\alpha=0.05\)
\(1-\beta=0.80\) \(1-\beta=0.90\)
2 11.68 7.85 14.88 10.51
3 13.89 9.64 17.43 12.66
4 15.46 10.91 19.25 14.18
5 16.75 11.94 20.74 15.41
6 17.87 12.83 22.03 16.47
7 18.88 13.63 23.19 17.42
8 19.79 14.36 24.24 18.29
9 20.64 15.03 25.22 19.09
10 21.43 15.65 26.13 19.83
11 22.18 16.25 26.99 20.54
12 22.89 16.81 27.8 21.20
13 23.57 17.34 28.58 21.84
14 24.22 17.85 29.32 22.44
15 24.84 18.34 30.04 23.03
16 25.44 18.82 30.73 23.59
17 26.02 19.27 31.39 24.13
18 26.58 19.71 32.04 24.65
19 27.12 20.14 32.66 25.16
20 27.65 20.56 33.27 25.66

例 用四种药品治疗高血压,已知四种药品降低收缩压的平均数分别是8.25,11.75,12和13。各药品降低收缩压的标准差都是3.5.在\(\sigma=0.05,\beta=0.1\),双侧检验,需要多少样本? 查表\(\lambda=14.18\)

k <- c(2:20)
dim <- c("alpha0.01beta0.2","alpha0.05beta0.2","alpha0.01beta0.1","alpha0.05beta0.1")
data <- c(11.68,13.89,15.46,16.75,17.87,18.88,19.79,20.64,21.43,22.18,22.89,23.57,
          24.22,24.84,25.44,26.02,26.58,27.12,27.65,7.85,9.64,10.91,11.94,12.83,13.63,
          14.36,15.03,15.65,16.25,16.81,17.34,17.85,18.34,18.82,19.27,19.71,20.14,
          20.56, 14.88,17.43,19.25,20.74,22.03,23.19,24.24,25.22,26.13,26.99,27.80,
          28.58,29.32,30.04,30.73,31.39,32.04,32.66,33.27,10.51,12.66,14.18,15.41,
          16.47,17.42,18.29,19.09,19.83,20.54,21.20,21.84,22.44,23.03,23.59,24.13,
          24.65,25.16,25.66 )
z <- array(data,c(19,4),dimnames<-list(k,dim))

delta<- function(mu,sigma){
  mu0 <- mean(mu)
  return(sum((mu-mu0)^2)/sigma^2)
}

MutiSampleMean <- function(alpha, beta, sigma, k, mu){
  lambda <- z[k-1,paste(paste("alpha",alpha,sep = ""),paste("beta",beta,sep = ""),
                        sep = "")]
  n <- lambda/delta(mu,sigma)
}

(MutiSampleMean(0.05,0.1,3.5,4,c(8.25,11.75,12,13)))
## [1] 13.49165

每组研究至少需要14名。

两两比较设计

试验组为2个或以上,且设有对照的试验设计,主要观察指标为计量资料。当标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon = \mu_{i} − \mu_{j}\)取最小值,\(\tau\) 的配对对比,样本量为\(n_{ij}=\frac{2(z_{\alpha/(2\tau))}+z_{\beta})^2\sigma^{2}}{\epsilon ^{2}_{ij}}\)。使用TrialSize包中的OneWayANOVA.pairwise()进行计算。

例 试验药两剂量的降低收缩压的平均数分别30和35,对照的降低收缩压的平均数为20,两剂量降低收缩压的标准差分别是5.3和4.2,进行1:1:1的平行对照实验,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

n1 <- OneWayANOVA.pairwise(0.05, 0.1, 2, 5.3, (30-20))
n2 <- OneWayANOVA.pairwise(0.05, 0.1, 2, 4.2, (35-20))
n <- max(n1,n2)
n
## [1] 6.972616

每组需要7个例。

Williams设计(Multiple-Sample Williams Design)

当交叉试验可使用的时期数与处理数相同时,采用广义拉丁方以尽量少的受试者来均衡一阶延滞作用的交叉设计为Williams设计。常见的Williams设计有三组设计(一个6×3的交叉设计)和四组设计(一个4*4的交叉设计)。当试验组是奇数,设计结果是\(2k×k\)交叉设计,当试验组是偶数,设计结果\(k×k\)交叉设计。

显著性检验

标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),\(k\)为组数,\(\epsilon\)为两组的差值,样本量\(n=\frac{(z_{\alpha/2}+z_{\beta})\sigma^2_{d}}{k\epsilon^{2}}\)

例 用三种药品治疗高血压,预实验已知三种药品(A、B、C)降低收缩压分别为8.25,11.75,12,各药品降低收缩压的标准差均为3.5。williams设计为三交叉对照实验,三交叉的处理顺序排列组合为ABC,ACB,BAC,BCA,CAB,CBA共6个序列,\(\alpha=0.05\)\(\beta=0.1\),双侧显著性检验,需要多少样本?

n1 <- MeanWilliamsDesign.Equality(0.05,0.1,3.5,6,(8.25-11.25))
n2 <- MeanWilliamsDesign.Equality(0.05,0.1,3.5,6,(8.25-12))
n3 <- MeanWilliamsDesign.Equality(0.05,0.1,3.5,6,(11.75-12))

n  <- max(n1,n2,n3)
n
## [1] 343.2425

研究的每个序列至少需要343例。

非劣效/优效性检验

标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),\(k\)为组数,\(\epsilon\)为两组的差值,\(\delta\)为界值,样本量\(n=\frac{(z_{\alpha}+z_{\beta})\sigma^2_{d}}{k(\epsilon-\delta)^{2}}\)

例 用三种药品治疗高血压,预实验已知三种药品(A、B、C)降低收缩压分别为8.25,11.75,12,各药品降低收缩压的标准差均为3.5。williams设计为三交叉对照实验,三交叉的处理顺序排列组合为ABC,ACB,BAC,BCA,CAB,CBA共6个序列,界值为5,\(\alpha=0.05\)\(\beta=0.1\),双侧显著性检验,需要多少样本?

n1 <- MeanWilliamsDesign.NIS(0.05,0.1,3.5,6,-5,(8.25-11.25))
n2 <- MeanWilliamsDesign.NIS(0.05,0.1,3.5,6,-5,(8.25-12))
n3 <- MeanWilliamsDesign.NIS(0.05,0.1,3.5,6,-5,(11.75-12))

n  <- max(n1,n2,n3)
n
## [1] 11.19009

研究的每个序列至少需要12例。

等效性检验

标准差为\(\sigma\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),\(k\)为组数,\(\epsilon\)为两组的差值,\(\delta\)为界值,样本量\(n=\frac{(z_{\alpha}+z_{\beta/2})\sigma^2_{d}}{k(\delta-|\epsilon|)^{2}}\)

例 用三种药品治疗高血压,预实验已知三种药品(A、B、C)降低收缩压分别为8.25,11.75,12,各药品降低收缩压的标准差均为3.5。williams设计为三交叉对照实验,三交叉的处理顺序排列组合为ABC,ACB,BAC,BCA,CAB,CBA共6个序列,界值为5,\(\alpha=0.05\)\(\beta=0.1\),双侧等效性检验,需要多少样本?

n1 <- MeanWilliamsDesign.Equivalence(0.05,0.1,3.5,6,5,(8.25-11.25))
n2 <- MeanWilliamsDesign.Equivalence(0.05,0.1,3.5,6,5,(8.25-12))
n3 <- MeanWilliamsDesign.Equivalence(0.05,0.1,3.5,6,5,(11.75-12))

n  <- max(n1,n2,n3)
n
## [1] 14.14097

研究的每个序列至少需要14例。

率比较的样本量估计(Large Sample Tests for Proportions)

单组设计(One-Sample Design)

显著性检验

当总体率为\(p\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon\),样本容量为\(n=\frac{(z_{\alpha /2}+z_{\beta })^{2}p(1-p)}{\epsilon ^{2}}\)

例 用传统的方法治疗运动负胫骨结节股骺损伤的有效率约为85%,现采用小刚针做胫骨结节股骺穿刺,估计有效率为95%,在\(\alpha=0.05\),\(\beta=0.1\),双侧显著性检验,问需要多大的样本容量?

OneSampleProportion.Equality(0.05,0.1,0.95,(0.95-0.85))  
## [1] 49.91026

研究需要50例。OneSampleProportion.Equality()函数中的delta相当于样本计算公式的\(\epsilon\)

非劣效/优效性检验

当总体率为\(p\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon\),界值\(\delta\),样本容量为\(n=\frac{(z_{\alpha}+z_{\beta })^{2}p(1-p)}{(\epsilon-\delta ) ^{2}}\)

例 用传统的方法治疗运动负胫骨结节股骺损伤的有效率约为85%,现采用小刚针做胫骨结节股骺穿刺,估计有效率为95%,界值为5%,在\(\alpha=0.05\),\(\beta=0.1\),双侧非劣效检验,问需要多大的样本容量?

OneSampleProportion.NIS2 <- function (alpha, beta, p, delta, margin) 
{
    n <- (qnorm(1 - alpha) + qnorm(1 - beta))^2 * p * (1 - p)/(margin-delta)^2
    n
}
OneSampleProportion.NIS2(0.05,0.1,0.95,-0.05,(0.95-0.85)) 
## [1] 18.07923

研究需要19例。TrialSize的作者在OneSampleProportion.NIS()函数中delta和margin代表的意义,与样本量计算公式有不相符之处,但可以得到正确结果OneSampleProportion.NIS2(0.05,0.1,0.95,(0.95-0.85),-0.05) 。

等效性检验

当总体率为\(p\),检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon\),界值\(\delta\),样本容量为\(n=\frac{(z_{\alpha}+z_{\beta/2})^{2}p(1-p)}{(\epsilon-|\delta|)^{2}}\)

例 用传统的方法治疗运动负胫骨结节股骺损伤的有效率约为85%,现采用小刚针做胫骨结节股骺穿刺,估计有效率为95%,界值为5%,在\(\alpha=0.05\),\(\beta=0.1\),双侧等效性检验,问需要多大的样本容量?

OneSampleProportion.Equivalence2 <- function(alpha, beta, p, delta, margin) 
{
    n <- (qnorm(1 - alpha) + qnorm(1 - beta/2))^2 * p * (1 - 
        p)/(delta - abs(margin))^2
    n
}
OneSampleProportion.Equivalence2(0.05,0.1,0.95,0.05,(0.95-0.85))
## [1] 205.6213

研究需要206例。TrialSize的作者在OneSampleProportion.NIS()函数中delta和margin代表的意义,与样本量计算公式有不相符之处,但可以得到正确结果OneSampleProportion.Equivalence(0.05,0.1,0.95,(0.95-0.85),0.05)

两组平行设计(Two-Sample Parallel Design)

显著性检验

\(p_{1}\)为第一组(试验组)的率,\(p_{2}\)为第二组(对照组)的率,差值为\(\epsilon\),样本容量为\(n_{2}=\frac{(z_{\alpha /2}+z_{\beta })^{2}}{\epsilon ^{2}}[\frac{p_{1}(1-p_{1})}{k}+p_{2}(1-p_{2})]\),\(n_{1}= kn_{2}\)

例 用两种药物对糖尿病患者进行康复治疗,经初步观察发现甲药的有效率为70%,乙药(对照)的有效率为90%,现进行进一步1:1显著行性设计在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

TwoSampleProportion.Equality(0.05,0.1,0.7,0.9,1,(0.7-0.9))
## [1] 78.80567

每组需要78例,TwoSampleProportion.Equality()函数中的delta相当于样本计算公式的\(\epsilon\)

非劣效/优效性检验

\(p_{1}\)为第一组(试验组)的率,\(p_{2}\)为第二组(对照组)的率,差值为\(\epsilon\)\(\delta\)为界值,样本容量为\(n_{2}=\frac{(z_{\alpha}+z_{\beta })^{2}}{(\epsilon-\delta ) ^{2}}[\frac{p_{1}(1-p_{1})}{k}+p_{2}(1-p_{2})]\),\(n_{1}= kn_{2}\)

例 用两种药物对糖尿病患者进行康复治疗,经初步观察发现甲药的有效率为70%,乙药(对照)的有效率为90%,现进行进一步1:1非劣效设计,界值为5%,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

TwoSampleProportion.NIS2 <- function (alpha, beta, p1, p2, k, delta, margin) 
{
    n2 <- (qnorm(1 - alpha) + qnorm(1 - beta))^2 * (p1 * (1 - p1)/k + p2 * (1 - p2))/(margin-delta)^2
    n1 <- k * n2
    n1
}

TwoSampleProportion.NIS2(0.05,0.1,0.7,0.9,1,-0.05,(0.7-0.9))
## [1] 114.1846

每组需要114例,TrialSize的作者在TwoSampleProportion.NIS()函数中delta和margin代表的意义,与样本量计算公式有不相符之处,但可以得到正确结果TwoSampleProportion.NIS2(0.05,0.1,0.7,0.9,1,(0.7-0.9),-0.05).

等效性检验

\(p_{1}\)为第一组(试验组)的率,\(p_{2}\)为第二组(对照组)的率,差值为\(\epsilon\)\(\delta\)为界值,样本容量为\(n_{2}=\frac{(z_{\alpha}+z_{\beta/2})^{2}}{(\delta- |\epsilon|) ^{2}}[\frac{p_{1}(1-p_{1})}{k}+p_{2}(1-p_{2})]\),\(n_{1}= kn_{2}\) 例 用两种药物对糖尿病患者进行康复治疗,经初步观察发现甲药的有效率为70%,乙药(对照)的有效率为90%,现进行进一步1:1等效性设计,界值为5%,在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

TwoSampleProportion.Equivalence2 <- function (alpha, beta, p1, p2, k, delta, margin) 
{
    n2 <- (qnorm(1 - alpha) + qnorm(1 - beta/2))^2 * (p1 * (1 - 
        p1)/k + p2 * (1 - p2))/(delta- abs(margin))^2
    n1 <- k * n2
    n1
}

TwoSampleProportion.Equivalence2(0.05,0.1,0.7,0.9,1,0.05,(0.7-0.9))
## [1] 144.2957

每组需要144例,TrialSize的作者在TwoSampleProportion.Equivalence()函数中delta和margin代表的意义,与样本量计算公式有不相符之处,beta也未除以2.

两组交叉设计(Two-Sample Crossover Design)

显著性检验

\(\sigma\)为两组率的差的标准差,\(\epsilon\)为试验组率-对照组率,样本容量为\(n=\frac{(z_{\alpha /2}+z_{\beta })^{2}\sigma^2_{d}}{2\epsilon ^{2}}\)

例 实验药和对照药品治疗中风,患者先服用对照药品 1 个月,洗脱2 周,再服用试验药1 个月,另一组反之。如果试验药能够比对照药品的有效率高 20%(差值),则认为有推广价值。预试验差值标准差为10。选用 \(\alpha=0.05\),Power=90%, 双侧显著性检验,需要多少样本含量?

TwoSamplePropCrossOver.Equality <- function (alpha, beta, sigma, margin) 
{
    n <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * sigma^2/2*(margin^2)
    n
}

TwoSamplePropCrossOver.Equality(0.05,0.1,10,0.2)
## [1] 21.01485

每组需要21例.

非劣效/优效性检验

\(\sigma\)为率的标准差,样本容量为\(n=\frac{(z_{\alpha}+z_{\beta })^{2}\sigma^2_{d}}{2(\epsilon-\delta)^{2}}\)

例 实验药和对照药品治疗中风,患者先服用对照药品 1 个月,洗脱2 周,再服用试验药1 个月,另一组反之。如果试验药能够比对照药品的有效率高 20%(差值),则认为有推广价值。预试验差值标准差为10。选用 \(\alpha=0.05\),Power=90%,界值为10%,双侧非劣效检验,需要多少样本含量?

TwoSamplePropCrossOver.NIS <- function (alpha, beta, sigma, delta,margin) 
{
    n <- (qnorm(1 - alpha) + qnorm(1 - beta))^2 * sigma^2/2*(margin-delta)^2
    n
}

TwoSamplePropCrossOver.NIS(0.05,0.1,10,-0.1,0.2)
## [1] 38.53731

每组需要38例。

等效性检验

\(\sigma\)为率的标准差,样本容量为\(n=\frac{(z_{\alpha}+z_{\beta/2 })^{2}\sigma^2_{d}}{2(\delta-|\epsilon|)^{2}}\)

例 实验药和对照药品治疗中风,患者先服用对照药品 1 个月,洗脱2 周,再服用试验药1 个月,另一组反之。如果试验药能够比对照药品的有效率高 20%(差值),则认为有推广价值。预试验差值标准差为10。选用 \(\alpha=0.05\),Power=90%,界值为10%,双侧等效性检验,需要多少样本含量?

TwoSamplePropCrossOver.Equivalence <- function (alpha, beta, sigma, delta,margin) 
{
    n <- (qnorm(1 - alpha) + qnorm(1 - beta/2))^2 * sigma^2/2*(delta-abs(margin))^2
    n
}

TwoSamplePropCrossOver.Equivalence(0.05,0.1,10,-0.1,0.2)
## [1] 48.69978

每组需要49例。

多组设计(One-Way Analysis of Variance)

在试验因素只有一个,且该因素的水平\(k\geqslant 3\)时,为多组平行对照设计,又称单因素多水平设计(ANOVA)。

两两比较

试验组为2个或以上,且设有对照的试验设计,主要观察指标为计数资料。检验功效为\(1-\beta\),置信度为\(1-\alpha\),差值为\(\epsilon = \mu_{i} − \mu_{j}\)取最小值,样本量为\(n_{ij}=\frac{(z_{\alpha/(2\tau))}+z_{\beta})^2[p_{1}(1-p_{1})+p_{2}(1-p_{2})]}{\epsilon ^{2}_{ij}}\)\(n=max{n_{ij}}\)。上述公式适用了多组平行对照设计。

例 试验药两剂量的有效率分别30%和35%,对照的有效率为20%,进行1:1:1的平行对照实验,在 在\(\alpha=0.05\),\(\beta=0.1\),问需要多大的样本容量?

n1 <- OneWayANOVA.PairwiseComparison(0.05,0.1,2,0.3,0.2,(0.3-0.2))
n2 <- OneWayANOVA.PairwiseComparison(0.05,0.1,2,0.35,0.2,(0.35-0.2))
n <- max(n1,n2)
n
## [1] 459.2147

每组需要459例。

Williams设计(Williams Design)

显著性检验

\(\sigma\)为标准差,\(a\)为组数,\(\epsilon\)为率差,样本容量为\(n=\frac{(z_{\alpha/2}+z_{\beta })^{2}\sigma^2_{d}}{a\epsilon^{2}}\)

例 一个新型药品的两个剂量组与安慰剂进行临床试验,预计两个剂量组的有效率分别为60%和65%,安慰剂的有效率为20%,研究者感兴趣是第一剂量组与安慰剂的差别,其率差的标准差为50%,Williams三交叉设计,在\(\alpha=0.05\),\(\beta=0.1\),双侧差异性检验,需要多少样本?

PorpWilliamsDesign.Equality <- function (alpha, beta, sigma, a, margin) 
{
    n <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * sigma^2/(a * 
        margin^2)
    n
}

PorpWilliamsDesign.Equality(0.05,0.1,0.5,6,(0.6-0.2))
## [1] 2.736308

每个研究需要至少3个病例。

非劣效/优效性检验

\(\sigma\)为标准差,\(a\)为组数,\(\epsilon\)为率差,a为组数,样本容量为\(n=\frac{(z_{\alpha}+z_{\beta })^{2}\sigma^2_{d}}{a(\epsilon-\delta)^{2}}\)

例 一个新型药品的两个剂量组与安慰剂进行临床试验,预计两个剂量组的有效率分别为60%和65%,安慰剂的有效率为20%,研究者感兴趣是第一剂量组与安慰剂的差别,其率差的标准差为50%,Williams三交叉设计,在\(\alpha=0.05\),\(\beta=0.1\),界值为5%,双侧非劣效检验,需要多少样本?

PropWilliamsDesign.NIS <- function (alpha, beta, sigma, a, delta, margin) 
{
  n <- (qnorm(1 - alpha) + qnorm(1 - beta))^2 * sigma^2/(a * (margin - delta)^2)
  n
}

PropWilliamsDesign.NIS (0.05,0.1,0.5,6,-0.05,(0.6-0.2))
## [1] 1.762109

每个研究需要至少2个病例。

等效性检验

\(\sigma\)为标准差,\(a\)为组数,\(\epsilon\)为率差,a为组数,样本容量为\(n=\frac{(z_{\alpha}+z_{\beta/2 })^{2}\sigma^2_{d}}{a(\delta-|\epsilon|)^{2}}\)

例 一个新型药品的两个剂量组与安慰剂进行临床试验,预计两个剂量组的有效率分别为60%和65%,安慰剂的有效率为20%,研究者感兴趣是第一剂量组与安慰剂的差别,其率差的标准差为50%,Williams三交叉设计,在\(\alpha=0.05\),\(\beta=0.1\),界值为5%,双侧等效性检验,需要多少样本?

PropWilliamsDesign.Equivalence <- function (alpha, beta, sigma, a, delta, margin) 
{
  n <- (qnorm(1 - alpha) + qnorm(1 - beta/2))^2 * sigma^2/(a * (delta-abs(margin ))^2)
  n
}

PropWilliamsDesign.Equivalence (0.05,0.1,0.5,6,0.05,(0.6-0.2))
## [1] 3.681012

每个研究需要至少4个病例。

相对危险度平行设计(Relative Risk—Parallel Design)

两样本(两组)平行对照设计,基于相对危险度,通常用比值比或优势比(odds radtio,OR)表示\(OR=\frac{p_{t}/(1-p_{t})}{p_{c}/(1-p_{c})}\),t为试验组,c为对照组。比值比大于1说明对结局有影响,比值比等于1说明对结局的影响没有区别。

显著性检验

OR为比值比,\(p_{T}\)试验组率,\(p_{C}\)为对照粗率,样本量\(n_{C}=\frac{(z_{\alpha/2}+z_{\beta})^{2}}{log^{2}(OR)}\begin{pmatrix} \frac{1}{\kappa p_{T}(1-p_{T})}+\frac{1}{\kappa p_{C}(1-p_{C})} \end{pmatrix}\),\(\kappa=n_{T}/n_{C}\) 例 研究新型抗血小板药预防脑梗死再发的作用,和阿司匹林进行对照,以相对危险度为主要评价指标。预实验显示,新药能够预防20%的脑梗死再发,阿司匹林能够预防10%的脑梗死再发。在\(\alpha=0.05\),\(\beta=0.1\),1:1双侧显著性检验,需要多少病例?

OR <- (0.2/(1-0.2))/(0.1/(1-0.1))
RelativeRisk.Equality(0.05,0.1,OR,1,0.2,0.1)
## [1] 277.4002

试验组和对照组均需要277例。

非劣效/优效性检验

OR为比值比,\(p_{T}\)试验组率,\(p_{C}\)为对照粗率,\(\delta\)为界值,样本量\(n_{C}=\frac{(z_{\alpha}+z_{\beta})^{2}}{(log(OR)-\delta)^2}\begin{pmatrix} \frac{1}{\kappa p_{T}(1-p_{T})}+\frac{1}{p_{C}(1-p_{C})} \end{pmatrix}\) 例 研究新型抗血小板药预防脑梗死再发的作用,和阿司匹林进行对照,以相对危险度为主要评价指标。预实验显示,新药能够预防20%的脑梗死再发,阿司匹林能够预防10%的脑梗死再发。在\(\alpha=0.05\),\(\beta=0.1\),1:1双侧非劣效检验,界值为10%,需要多少病例?

OR <- (0.2/(1-0.2))/(0.1/(1-0.1))
RelativeRisk.NIS(0.05,0.1,OR,1,0.2,0.1,-0.1)
## [1] 179.1745

试验组和对照组均需要179例。

等效性检验

OR为比值比,\(p_{T}\)试验组率,\(p_{C}\)为对照粗率,\(\delta\)为界值,样本量\(n_{C}=\frac{(z_{\alpha}+z_{\beta/2})^{2}}{(\delta-log(OR))^2}\begin{pmatrix} \frac{1}{\kappa p_{T}(1-p_{T})}+\frac{1}{p_{C}(1-p_{C})} \end{pmatrix}^{-1}\)

例 研究新型抗血小板药预防脑梗死再发的作用,和阿司匹林进行对照,以相对危险度为主要评价指标。预实验显示,新药能够预防20%的脑梗死再发,阿司匹林能够预防10%的脑梗死再发。在\(\alpha=0.05\),\(\beta=0.1\),1:1双侧等效性检验,界值为10%,需要多少病例?

OR <- (0.2/(1-0.2))/(0.1/(1-0.1))
RelativeRisk.Equivalence(0.05,0.1,OR,1,0.2,0.1,0.1)
## [1] 371.739

试验组和对照组均需要372例。

相对危险度交叉设计(Relative Risk—Crossover Design)

交叉设计与随机平行对照设计相比,需要的样本量较少,但该设计的前提是所治疗疾病在停药后基本会回复到用药前的状态,中间停药时间(洗脱期)的长度基本清楚。

显著性检验

OR为比值比,\(\sigma^{2}_{d}\)为差值的标准差。样本量为\(n=\frac{(z_{\alpha/2}+z_{\beta})^{2}\sigma^{2}_{d}}{log^{2}(OR)}\)

例 某新型药品治疗头痛后7日再发率为20%,标准治疗头痛后7日再发率为10%,以相对为危险度为主要评价指标,标准差为50%,两组交叉对照1:1设计,在在\(\alpha=0.05\),\(\beta=0.1\),1:1双侧显著性检验,需要多少病例?

OR <- (0.2/(1-0.2))/(0.1/(1-0.1))
RelativeRiskCrossOver.Equality <- function (alpha, beta, sigma, or) 
{
    n <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * sigma^2/(log(or))^2
    n
}
RelativeRiskCrossOver.Equality(0.05,0.1,0.5,OR)
## [1] 3.994563

每组至少需要4例,TrialSize包中RelativeRiskCrossOver.Equality()函数在sigma处有误,没有取平方。

非劣效/优效性检验

OR为比值比,\(\sigma^{2}_{d}\)为差值的标准差,\(\delta\)为界值。样本量为\(n=\frac{(z_{\alpha}+z_{\beta})^{2}\sigma^{2}_{d}}{[log^{2}(OR)-\delta]^{2}}\)

例 某新型药品治疗头痛后7日再发率为20%,标准治疗头痛后7日再发率为10%,以相对为危险度为主要评价指标,两组交叉对照1:1设计,在在\(\alpha=0.05\),\(\beta=0.1\),1:1双侧非劣效性检验,界值为10%,需要多少病例?

OR <- (0.2/(1-0.2))/(0.1/(1-0.1))
RelativeRiskCrossOver.NIS <- function (alpha, beta, sigma, or,delta) 
{
    n <- (qnorm(1 - alpha) + qnorm(1 - beta))^2 * sigma^2/(log(or) - delta)^2
    n
}
RelativeRiskCrossOver.NIS(0.05,0.1,0.5,OR,-0.1)
## [1] 2.580113

每组至少需要3例,TrialSize包中RelativeRiskCrossOver.NIS()函数在sigma处有误,没有取平方。

等效性检验

OR为比值比,\(\sigma^{2}_{d}\)为差值的标准差,\(\delta\)为界值。样本量为\(n=\frac{(z_{\alpha}+z_{\beta/2})^{2}\sigma^{2}_{d}}{(\delta-|log^{2}(OR)|)^{2}}\)

例 某新型药品治疗头痛后7日再发率为20%,标准治疗头痛后7日再发率为10%,以相对为危险度为主要评价指标,两组交叉对照1:1设计,在\(\alpha=0.05\),\(\beta=0.1\),1:1双侧等效性检验,界值为10%,需要多少病例?

OR <- (0.2/(1-0.2))/(0.1/(1-0.1))
RelativeRiskCrossOver.Equivalence <- function (alpha, beta, sigma, or, delta) 
{
    n <- (qnorm(1 - alpha) + qnorm(1 - beta/2))^2 * sigma^2/(delta- abs(log(or)))^2
    n
}
RelativeRiskCrossOver.Equivalence(0.05,0.1,0.5,OR,0.1)
## [1] 5.353041

每组至少需要3例,TrialSize包中RelativeRiskCrossOver.Equivalence()函数在sigma处有误,没有取平方。

计数资料的精确检验(Exact Tests for Proportions)

二项分布(Binomial Test)

二项分布检验常用于但组设计情况,其样本量估计方法适合较小样本计数资料的精确检验。二项分布检验样本量和临界值(Critical Value r)的估算表如下,在\(\alpha=0.05\),\(P_{1}-P_{0}=0.15\)时,查下表,\(1-\beta=0.80\)为第三和第四列,\(1-\beta=0.90\)为第五和第六列。

\(P_{0}\) \(P_{1}\) r n r n
0.05 0.20 3 27 4 38
0.10 0.25 7 40 9 55
0.15 0.30 11 48 14 64
0.20 0.35 16 56 21 77
0.25 0.40 21 62 27 83
0.30 0.45 26 67 35 93
0.35 0.50 30 68 41 96
0.40 0.55 35 71 45 94
0.45 0.60 38 70 52 98
0.50 0.65 41 69 54 93
0.55 0.70 45 70 58 92
0.60 0.75 43 62 58 85
0.65 0.80 41 55 55 75
0.70 0.85 39 49 54 69
0.75 0.90 38 45 46 55
0.80 0.95 27 30 39 44

\(\alpha=0.10\),\(P_{1}-P_{0}=0.15\)时,查下表,\(1-\beta=0.80\)为第三和第四列,\(1-\beta=0.90\)为第五和第六列。

\(P_{0}\) \(P_{1}\) r n r n
0.05 0.20 2 21 3 32
0.10 0.25 5 31 6 40
0.15 0.30 8 37 11 53
0.20 0.35 12 44 16 61
0.25 0.40 15 46 20 64
0.30 0.45 19 50 26 71
0.35 0.50 21 49 30 72
0.40 0.55 24 50 35 75
0.45 0.60 28 53 39 75
0.50 0.65 31 53 41 72
0.55 0.70 31 49 44 71
0.60 0.75 32 47 43 64
0.65 0.80 33 45 44 61
0.70 0.85 29 37 41 53
0.75 0.90 25 30 33 40
0.80 0.95 22 25 28 32

\(\alpha=0.05\),\(P_{1}-P_{0}=0.20\)时,查下表,\(1-\beta=0.80\)为第三和第四列,\(1-\beta=0.90\)为第五和第六列。

\(P_{0}\) \(P_{1}\) r n r n
0.05 0.25 2 16 3 25
0.10 0.30 5 25 6 33
0.15 0.35 7 28 9 38
0.20 0.40 11 35 14 47
0.25 0.45 13 36 17 49
0.30 0.50 16 39 21 53
0.35 0.55 19 41 24 53
0.40 0.60 22 42 28 56
0.45 0.65 24 42 30 54
0.50 0.70 23 37 32 53
0.55 0.75 25 37 33 50
0.60 0.80 26 36 32 45
0.65 0.85 24 31 32 42
0.70 0.90 23 28 30 37
0.75 0.95 20 23 25 29
0.80 1.00 13 14 13 14

\(\alpha=0.10\),\(P_{1}-P_{0}=0.20\)时,查下表,\(1-\beta=0.80\)为第三和第四列,\(1-\beta=0.90\)为第五和第六列。

\(P_{0}\) \(P_{1}\) r n r n
0.05 0.25 2 16 2 20
0.10 0.30 3 18 4 25
0.15 0.35 5 22 7 32
0.20 0.40 7 24 10 36
0.25 0.45 9 26 13 39
0.30 0.50 12 30 15 39
0.35 0.55 1 3 29 19 44
0.40 0.60 15 30 20 41
0.45 0.65 1 6 29 24 44
0.50 0.70 17 28 23 39
0.55 0.75 19 29 25 39
0.60 0.80 17 24 25 36
0.65 0.85 16 21 24 32
0.70 0.90 17 21 20 25
0.75 0.95 13 15 17 20
0.80 1.00 10 11 10 11

例 预试验中某新型抗肿瘤药品治疗某癌症的治愈率为30%,标准治疗的治愈率为10%,单组设计,二项分布检验,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

p <- seq(0.05,0.80,by=0.05)
dim <- c("beta0.2r","beta0.2n","beta0.1r","beta0.1n")
dim3 <- c("p0.15alpha0.05","p0.15alpha0.10","p0.20alpha0.05","p0.20alpha0.10")
data<- c(3,7,11,16,21,26,30,35,38,41,45,43,41,39,38,27,27,40,48,56,62,67,68,71,70,69,
         70,62,55,49,45,30,4,9,14,21,27,35,41,45,52,54,58,58,55,54,46,39,38,55,64,77,
         83,93,96,94,98,93,92,85,75,69,55,44,2,5,8,12,15,19,21,24,28,31,31,32,33,29,
         25,22,21,31,37,44,46,50,49,50,53,53,49,47,45,37,30,25,3,6,11,16,20,26,30,35,
         39,41,44,43,44,41,33,28,32,40,53,61,64,71,72,75,75,72,71,64,61,53,40,32,2,5,
         7,11,13,16,19,22,24,23,25,26,24,23,20,13,16,25,28,35,36,39,41,42,42,37,37,
         36,31,28,23,14,3,6,9,14,17,21,24,28,30,32,33,32,32,30,25,13,25,33,38,47,49,
         53,53,56,54,53,50,45,42,37,29,14,2,3,5,7,9,12,13,15,16,17,19,17,16,17,13,
         10,16,18,22,24,26,30,29,30,29,28,29,24,21,21,15,11,2,4,7,10,13,15,19,20,24,
         23,25,25,24,20,17,10,20,25,32,36,39,39,44,41,44,39,39,36,32,25,20,11)

z <- array(data,c(16,4,4),dimnames<-list(p,dim,dim3))

BinProp <- function(alpha, beta,p0,p1){
  col1<- paste(paste("beta",beta,sep=""),"n",sep="")
  col2 <- paste(paste("beta",beta,sep=""),"r",sep="")
  row <- paste(paste("p",format(p1-p0,digits = 2,nsmall = 2),sep = ""),
               paste("alpha",alpha,sep = ""),sep="")
  c(n=z[which(p==p0),col1,row],r=z[which(p==p0),col2,row])
}

BinProp(0.05,0.1,0.1,0.3)
##  n  r 
## 33  6

需要33个病例,临界值为6。

Fisher’s精确检验(Fisher’s Exact Test)

在两组平行对照设计中,当四格表中有理论数小于5,或者总观察数小于40时,需要Fisher‘s精确检验。样本含量的精确估计需要查询下表获得检验水平为0.05或为0.1,把握度为0.8或0.9时,不同率差的样本量。 率差为0.25时,查询下表

\(p_{1}\) \(p_{2}\) \(alpha0.10beta0.20\) \(alpha0.10beta0.10\) \(alpha0.05beta0.20\) \(alpha0.05beta0.10\)
0.05 0.30 25 33 34 42
0.10 0.35 31 41 39 52
0.15 0.40 34 48 46 60
0.20 0.45 39 52 49 65
0.25 0.50 40 56 54 71
0.30 0.55 41 57 55 72
0.35 0.60 41 57 56 77
0.40 0.65 41 57 56 77
0.45 0.70 41 57 55 72
0.50 0.75 40 56 54 71
0.55 0.80 39 52 49 65
0.60 0.85 34 48 46 60
0.65 0.90 31 41 39 52
0.70 0.95 25 33 34 42

率差为0.30时,查询下表

\(p_{1}\) \(p_{2}\) \(alpha0.10beta0.20\) \(alpha0.10beta0.10\) \(alpha0.05beta0.20\) \(alpha0.05beta0.10\)
0.05 0.35 20 26 25 33
0.10 0.40 23 32 30 39
0.15 0.45 26 35 34 45
0.20 0.50 28 39 36 47
0.25 0.55 29 40 37 51
0.30 0.60 29 40 41 53
0.35 0.65 33 40 41 53
0.40 0.70 29 40 41 53
0.45 0.75 29 40 37 51
0.50 0.80 28 39 36 47
0.55 0.85 26 35 34 45
0.60 0.90 23 32 30 39

率差为0.35时,查询下表

\(p_{1}\) \(p_{2}\) \(alpha0.10beta0.20\) \(alpha0.10beta0.10\) \(alpha0.05beta0.20\) \(alpha0.05beta0.10\)
0.05 0.40 16 21 20 25
0.10 0.45 19 24 24 31
0.15 0.50 20 28 26 34
0.20 0.55 23 29 27 36
0.25 0.60 24 29 30 36
0.30 0.65 24 33 31 40
0.35 0.70 24 33 31 40
0.40 0.75 24 29 30 36
0.45 0.80 23 29 27 36
0.50 0.85 20 28 26 34
0.55 0.90 19 24 24 31
0.60 0.95 16 21 20 25

例 预试验中某新型抗肿瘤药品治疗某癌症的治愈率为35%,标准治疗的治愈率为10%,两组平行对照1:1设计,双侧差异性检验,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

dim1 <- c("p1","p2","alpha0.10beta0.20","alpha0.10beta0.10","alpha0.05beta0.20"
          ,"alpha0.05beta0.10")
p <- seq(1:14)
data1 <-c(0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,
          0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,0.95,
          25,31,34,39,40,41,41,41,41,40,39,34,31,25,33,41,48,52,56,57,57,57,57,
          56,52,48,41,33,34,39,46,49,54,55,56,56,55,54,49,46,39,34,42,52,60,65,
          71,72,77,77,72,71,65,60,52,42)
p0.25 <- array(data1,c(14,6),dimnames<-list(p,dim1))

p <- seq(1:12)
data2 <- c(0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.35,0.40,
           0.45,0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,20,23,26,28,29,29,
           33,29,29,28,26,23,26,32,35,39,40,40,40,40,40,39,35,32,25,30,34,36,
           37,41,41,41,37,36,34,30,33,39,45,47,51,53,53,53,51,47,45,39)
p0.30 <- array(data2,c(12,6),dimnames<-list(p,dim1))

p <- seq(1:12)
data3 <- c(0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.40,0.45,
           0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,0.95,16,19,20,23,24,24,24,
           24,23,20,19,16,21,24,28,29,29,33,33,29,29,28,24,21,20,24,26,27,30,31,
           31,30,27,26,24,20,25,31,34,36,36,40,40,36,36,34,31,25)
p0.35 <- array(data3,c(12,6),dimnames<-list(p,dim1))
z <- list(p0.25=p0.25,p0.30=p0.30,p0.35=p0.35)

FisherTest <- function(alpha,beta,p1,p2){
  table <- paste("p",format(p2-p1,digits = 2,nsmall = 2),sep="")
  row <- as.numeric(which(z[[table]][,1]==p1))
  col <- paste(paste("alpha",alpha,sep=""),paste("beta",format(beta,nsmall=2),
                                                 sep=""),sep="")
  z[[table]][row,col]
}

FisherTest(0.05,0.1,0.10,0.35)
## [1] 52

每组是少需要52例。

单组优化多阶段设计(Optimal Multiple-Stage Designs for Single Arm Trials)

最优化两阶段设计(Optimal Two-Stage Designs)

该设计中,当出现了一定数量的失败后,容许实验结束。该设计的的样本量可以通过查询下表获得。

data <- read.table("OptimalTwoStageDesigns",header = T)
panderOptions('table.split.table',140)  #改变默认80的宽度
panderOptions('digits', 2)
pander(data)
p0 p1 alpha beta Or1_n1 Or_n Mr1_n1 Mr_n
0.05 0.2 0.1 0.1 0/12 3/37 0/13 3/32
0.05 0.2 0.05 0.2 0/10 3/29 0/13 3/27
0.05 0.2 0.05 0.1 1/21 4/41 1/29 4/38
0.1 0.25 0.1 0.1 2/21 7/50 2/27 6/40
0.1 0.25 0.05 0.2 2/18 7/43 2/22 7/40
0.1 0.25 0.05 0.1 2/21 10/66 3/31 9/55
0.2 0.35 0.1 0.1 5/27 16/63 6/33 15/58
0.2 0.35 0.05 0.2 5/22 19/72 6/31 15/53
0.2 0.35 0.05 0.1 8/37 22/83 8/42 21/77
0.3 0.45 0.1 0.1 9/30 29/82 16/50 25/69
0.3 0.45 0.05 0.2 9/27 30/81 16/46 25/65
0.3 0.45 0.05 0.1 13/40 40/110 27/77 33/88
0.4 0.55 0.1 0.1 16/38 40/88 18/45 34/73
0.4 0.55 0.05 0.2 11/26 40/84 28/59 34/70
0.4 0.55 0.05 0.1 19/45 49/104 24/62 45/94
0.5 0.65 0.1 0.1 18/35 47/84 19/40 41/72
0.5 0.65 0.05 0.2 15/28 48/83 39/66 40/68
0.5 0.65 0.05 0.1 22/42 60/105 28/57 54/93
0.6 0.75 0.1 0.1 21/34 47/71 25/43 43/64
0.6 0.75 0.05 0.2 17/27 46/67 18/30 43/62
0.6 0.75 0.05 0.1 21/34 64/95 48/72 57/84
0.7 0.85 0.1 0.1 14/20 45/59 15/22 40/52
0.7 0.85 0.05 0.2 14/19 46/59 16/23 39/49
0.7 0.85 0.05 0.1 18/25 61/79 33/44 53/68
0.8 0.95 0.1 0.1 5/7 27/31 5/7 27/31
0.8 0.95 0.05 0.2 7/9 26/29 7/9 26/29
0.8 0.95 0.05 0.1 16/19 37/42 31/35 35/40
0.05 0.25 0.1 0.1 0/9 2/24 0/13 2/20
0.05 0.25 0.05 0.2 0/9 2/17 0/12 2/16
0.05 0.25 0.05 0.1 0/9 3/30 0/15 3/25
0.1 0.3 0.1 0.1 1/12 5/35 1/16 4/25
0.1 0.3 0.05 0.2 1/10 5/29 1/15 5/25
0.1 0.3 0.05 0.1 2/18 6/35 2/22 6/33
0.2 0.4 0.1 0.1 3/17 10/37 3/19 10/36
0.2 0.4 0.05 0.2 3/13 12/43 4/18 10/33
0.2 0.4 0.05 0.1 4/19 15/54 5/24 13/45
0.3 0.5 0.1 0.1 7/22 17/46 7/28 15/39
0.3 0.5 0.05 0.2 5/15 18/46 6/19 16/39
0.3 0.5 0.05 0.1 8/24 24/63 7/24 21/53
0.4 0.6 0.1 0.1 7/18 22/46 11/28 20/41
0.4 0.6 0.05 0.2 7/16 23/46 17/34 20/39
0.4 0.6 0.05 0.1 11/25 32/66 12/29 27/54
0.5 0.7 0.1 0.1 11/21 26/45 11/23 23/39
0.5 0.7 0.05 0.2 8/15 26/43 12/23 23/37
0.5 0.7 0.05 0.1 13/24 35/61 14/27 32/53
0.6 0.8 0.1 0.1 6/11 26/38 18/27 14/35
0.6 0.8 0.05 0.2 7/11 30/43 8/13 25/35
0.6 0.8 0.05 0.1 12/19 37/53 15/26 32/45
0.7 0.9 0.1 0.1 6/9 22/28 11/16 20/25
0.7 0.9 0.05 0.2 4/6 22/27 19/23 21/26
0.7 0.9 0.05 0.1 11/15 29/36 13/18 26/32

例 一新型抗肿瘤药品进行二期临床试验,标准治疗的有效率为20%,如果新型药品的有效率达40%,则认为有临床价值。最优化两阶段设计,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

OptimalTwoStageDesigns <- function(alphap,betap,p0p,p1p){
  data <- read.table("OptimalTwoStageDesigns",header = T)
  data%>>%
    subset(p0==p0p)%>>%
    subset(p1==p1p)%>>%
    subset(alpha==alphap)%>>%
    subset(beta==betap)%>>%
    return()
}

OptimalTwoStageDesigns(0.05,0.1,0.20,0.40)
##     p0  p1 alpha beta Or1_n1  Or_n Mr1_n1  Mr_n
## 36 0.2 0.4  0.05  0.1   4/19 15/54   5/24 13/45

第一阶段供需19例,其中4例有效,则可以进行第二阶段的试验。第二阶段需继续做5例,达到24例,如果至少5例有效,则可进行进一步的研究。

灵活两阶段设计(Flexible Two-Stage Designs)

该设计对两个阶段的病例数给出多个选择,优化灵活两阶段设计样本量和界值可查询下表。

data <- read.csv("OptimalFlexibleTwoStage.csv",header=T)
for(i in 1:length(data$p0)){
  if(is.na(data$p0[i])==T){
    data$p0[i]  <- data$p0[i-1] 
    data$p1[i]  <- data$p1[i-1] 
  }
}
panderOptions('digits', 2)
panderOptions('table.split.table',500)  
#panderOptions('table.alignment.default','left')
#panderOptions('table.split.cells',40)
pander(data,justify = c('center','center','center','center', 'center', 'center')) #调整对齐方式
p0 p1 alpha beta ri_ni Rj_Nj
0.05 0.2 0.1 0.1 0/15-16,1/17-22 2/30-31,3/32-37
0.05 0.2 0.05 0.2 0/10-12,1/13-17 3/27-34
0.05 0.2 0.05 0.1 1/17-24 4/41-46,5/47-48
0.1 0.25 0.1 0.1 2/19-25,3/26 6/44-45,7/46-51
0.1 0.25 0.05 0.2 1/13-15,2/16-20 6/40,7/41-45,8/46-47
0.1 0.25 0.05 0.1 2/21-24,3/25-28 9/57-61,10/62-64
0.2 0.35 0.1 0.1 6/28-31,7/32-35 15/62,16/63-65,17/66-68,18/69
0.2 0.35 0.05 0.2 4/18-21,5/22-24,6/25 17/62-64,18/65-69,
0.2 0.35 0.05 0.2 6/31,7/32-34,8/35-38 22/82-85,23/86-89
0.3 0.45 0.1 0.1 9/31,10/32-33,11/34-37,12/38 27/75-77,28/78-80,29/81-82
0.3 0.45 0.05 0.2 7/23,8/24-25,9/26-29,10/30 27/73,28/74-76,29/77-78,30/79-80
0.3 0.45 0.05 0.2 11/35-36,12/37-39,13/40-42 36/98-99,37/100-102,38/103-104,39/105
0.4 0.55 0.1 0.1 12/30-31,13/32-33,14/34-35,15/36-37 37/80-81,38/82-84,39/85-86,40/87
0.4 0.55 0.05 0.2 11/25-26,12/27-29,13/30-31,14/32 37/78,38/79-80,39/81-82,40/83-85
0.4 0.55 0.05 0.1 16/38-39,17/40-41,18/42-44,19/45 49/104-105,50/106-107,51/108-109,52/110-111
0.5 0.65 0.1 0.1 15/30,16/31-32,17/33-34,18/35-36,19/37 44/78-79,45/80-81,46/82-83,47/84,48/85
0.5 0.65 0.05 0.2 12/23,13/24-25,14/26-27,15/28-29,16/30 45/77-78,46/79-80,47/81-82,48/83,49/84
0.5 0.65 0.05 0.1 21/40,22/41-42,23/43-44,24/45-46,25/47 59/103-104,60/105-106,61/107,62/108-109,63/110
0.6 0.75 0.1 0.1 16/27,17/28,18/29-30,19/31-32,20/33,21/34 44/67,45/68,46/69-70,47/71,48/72,49/73-74
0.6 0.75 0.05 0.2 14/22-23,15/24,16/25 46/68,47/69,48/70-71
0.6 0.75 0.05 0.1 20/32-33,21/34,22/36-36,23/37/24/38-39 61/90-91,62/92,63/93-94,64/95,65/96-97
0.7 0.85 0.1 0.1 13/19,14/20,15/21,16/22-23,17/24,18/25-26 40/53,41/54,42/55,43/56,44/57-58,45/59,46/60
0.7 0.85 0.05 0.2 9/13,10/14,11/15,12/16-17,13/18,14/19,15/20 44/56-57,45/58,46/59,47/60,48/61-62,49/63
0.7 0.85 0.05 0.1 17/24,18/26,19/26,20/27-28,21/29,22/30,23/31 57/73-74,58/75,59/76-77,60/78,61/79,62/80
0.8 0.95 0.1 0.1 8/10,9/11,10/12-13,11/14,12/15,13/16,14/17 24/28,25/29,26/30,27/31,28/32,29/33,30/34-35
0.8 0.95 0.05 0.2 7/9,8/10,9/11,10/12, 11/13,12/14,13/15,14/16 25/28,26/29,27/30,28/31-32, 29/33,30/34,31/35
0.8 0.95 0.05 0.1 10/12,11/13-14,12/15,13/16, 14/17,15/18,16/19 35/40,36/41,37/42,38/43,39/44, 40/45-46,41/47
0.05 0.25 0.1 0.1 0/8-13,1/14-15 1/18,2/19-25
0.05 0.25 0.05 0.2 0/5-10,1/11-12 2/17-22,3/23-24
0.05 0.25 0.05 0.1 0/8-13,1/14-15 2/24,3/25-31
0.1 0.3 0.1 0.1 1/11-17,2/18 3/24,4/25-28,5/29-31
0.1 0.3 0.05 0.2 1/8-12,2/13-15 4/26,5/27-32,6/33
0.1 0.3 0.05 0.1 1/12-14,2/15-19 6/36-39,7/40-43
0.2 0.4 0.1 0.1 2/14,3/15-17,4/18-21 9/35-36,10/37-38,11/39-42
0.2 0.4 0.05 0.2 2/10-12,3/13-15,4/16-17 10/33-35,11/36-40
0.2 0.4 0.05 0.1 4/18-20,5/21-24,6/25 13/48,14/49-51,15/52-55
0.3 0.5 0.1 0.1 4/14-16,5/17-19,6/20-21 15/40-41,16/42-44,17/45-46,18/47
0.3 0.5 0.05 0.2 3/11,4/12-14,5/15-16/6/17-18 16/40-41,16/42-44,18/45-46,18/47
0.3 0.5 0.05 0.1 6/19-20,7/21-23,8/24-26 21/55,22/56-58,23/59-60,24/61-62
0.4 0.6 0.1 0.1 6/15-16,7/17-19,8/20,9/21-22 21/44-45,22/46-47,23/48-49,24/50-51
0.4 0.6 0.05 0.2 5/12-13,6/14,7/15-16,8/17-19 22/44-45,23/46-47,24/48-49,25/50,26/51
0.4 0.6 0.05 0.1 8/20,9/21-22,10/23-24,11/25-26,12/27 28/58,29/59-60,30/61-62,31/63,32/64-65
0.5 0.7 0.1 0.1 7/15,8/16-17,9/18,10/19-20,11/21,12/22 24/41-42,25/43/44,26/45,27/46-47,28/48
0.5 0.7 0.05 0.2 5/10,6/11-12,7/13-14,8/15,9/16-17 25/42,26/43-44,27-45,28/46-47,29/48,30/49
0.5 0.7 0.05 0.1 10/19-20,11/21,12/22-23,13/24-25,14/26 33/55-56,34/57-58,35/59,36/60-61,37/62
0.6 0.8 0.1 0.1 7/12,8/13-14,9/15,10/16-17,11/18,12/19 24/35-36,25/37,26/38,27/39-40,28/41,29/42
0.6 0.8 0.05 0.2 5/8-9,6/10,7/11,8/12-13,9/14-15 25/35-36,26/37,27/38,28/39-40,29/41,30/42
0.6 0.8 0.05 0.1 11/17-18,12/19,13/20-21,14/22,15/23,16/24 34/48-49,35/50-51,36/52,37/53-54,38/55
0.7 0.9 0.1 0.1 6/9,7/10,8/11,9/12-13,10/14,11/15-16 18/23,19/24,20/25-26,21/27,22/28,23/29,24/30
0.7 0.9 0.05 0.2 4/6,5/7,6/8,7/9,8/10-11,9/12,10/13 22/27,23/28-29,24/30,25/31,26/32-33,27/34
0.7 0.9 0.05 0.1 7/10,8/11,9/12-13,10/14,11/15,12/16,13/17 27/34/28/35,29/36,30/37-38,31/39,32/40,33/41

例 一新型抗肿瘤药品进行二期临床试验,标准治疗的有效率为20%,如果新型药品的有效率达40%,则认为有临床价值。优化灵活两阶段设计,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

OptimalFlexibleTwoStageDesigns <- function(alphap,betap,p0p,p1p){
  data <- read.csv("OptimalFlexibleTwoStage.csv",header=T)
for(i in 1:length(data$p0)){
  if(is.na(data$p0[i])==T){
    data$p0[i]  <- data$p0[i-1] 
    data$p1[i]  <- data$p1[i-1] 
  }
}
  data%>>%
    subset(p0==p0p)%>>%
    subset(p1==p1p)%>>%
    subset(alpha==alphap)%>>%
    subset(beta==betap)%>>%
    return()
}

OptimalFlexibleTwoStageDesigns(0.05,0.1,0.20,0.40)
##     p0  p1 alpha beta                ri_ni                   Rj_Nj
## 36 0.2 0.4  0.05  0.1 4/18-20,5/21-24,6/25 13/48,14/49-51,15/52-55

该研究第一阶段需要18-20个病例,如果至少4例有效,则可进行第二阶段试验。第二阶段继续做28~30个病例,总数达到48例。如果13例有效,则可进行进一步研究。

极小灵活两阶段设计样本量和界值可查询下表。

data <- read.csv("MinimaxFlexibleTwoStage.csv",header=T)
for(i in 1:length(data$p0)){
  if(is.na(data$p0[i])==T){
    data$p0[i]  <- data$p0[i-1] 
    data$p1[i]  <- data$p1[i-1] 
  }
}
panderOptions('digits', 2)
panderOptions('table.split.table',500)  
pander(data,justify = c('center','center','center',
                        'center', 'center', 'center'))
p0 p1 alpha beta ri_ni Rj_Nj
0.05 0.2 0.1 0.1 0/16-22,1/23 2/26-28,3/29-33
0.05 0.2 0.05 0.2 0/10-17 2/23,2/24-30
0.05 0.2 0.05 0.1 0/22-27,1/28-29 3/33-34,4/35-40
0.1 0.25 0.1 0.1 1/25-27,2/28-32 5/37,6/38-42,7/43-44
0.1 0.25 0.05 0.2 1/22-24,2/25-29 6/33-37,7/38-40
0.1 0.25 0.05 0.1 2/25-29,3/30-32 8/49-52,9/53-56
0.2 0.35 0.1 0.1 6/37-39,7/40-42,8/43-440 14/54-55,15/56-59,16/60-61
0.2 0.35 0.05 0.2 6/28,6/29-31,7/32-35 14/50-51,15/52-54,16/55-57
0.2 0.35 0.05 0.1 8/41-45,9/46-48 19/71-72,20/73-74,21/75-78
0.3 0.45 0.1 0.1 11/43,12/44-46.13/47-48,14/49-50 23/64,24/65-67,25/68-69,26/70-71
0.3 0.45 0.05 0.2 10/36,11/37,12/38-39,13/40-43 23/60,24/61-63,25/64-65,26/66-67
0.3 0.45 0.05 0.1 15/50-52,16/53-55,17/56-57 32/85-86,33/87-89,34/90-91,35/92
0.4 0.55 0.1 0.1 16/43-44,17/45-46,18/47,19/48-49,20/50 32/69-70,33/71,34/72-73,35/74-75,36/76
0.4 0.55 0.05 0.2 13/34-35,14/36,15/37-39,16/40-41 32/65-66,33/67-68,34/69-70,35/71,36/72
0.4 0.55 0.05 0.1 23/60-61,24/62-63,25/64-65,26/66-67 43/91,44/92-93,45/94,46/95-96,47/97-98
0.5 0.6 0.1 0.1 19/41,20/42-43,21/44-45,22/57-57,23/48 38/67,39/68-69,40/70-71,41/72,42/73-74
0.5 0.6 0.05 0.2 16/33,17/34-35,18/36-37,19/38-39,20/40 38/64-65,39/66,40/67-68,41/69,42/70-71
0.5 0.6 0.05 0.1 26/53,27/54-55,28/56,29/57,30/58-59,31/60 52/89-90,53/91-92,54/93-94,55/95,56/96
0.6 0.75 0.1 0.1 22/38-39,23/40,24/41-42,25/43,26/44-45 40/60,41/61,42/62-63,43/64,44/65-66,45/67
0.6 0.75 0.05 0.2 18/31,19/32,20/33-34,21/35,22/36-37,23/38 40/57-58,41/59,42/60-61,43/62,44/63-64
0.6 0.75 0.05 0.1 23/39,24/40-41,25/42-43,26/44,27/45,28/46 54/80,55/81,56/82,57/83-84,58/85,59/86-87
0.7 0.85 0.1 0.1 19/28-29,20/30,21/31,22/32,23/33-34,24/35 36/46-47,37/48,38/49,39/50-51,40/52,41/53
0.7 0.85 0.05 0.2 18/25,19/26,20/27-28,21/29,22/30,23/31,24/32 36/45,37/46-47,38/48,39/49,40/50-51,41/52
0.7 0.85 0.05 0.1 26/38,27/39,28/40,29/41,30/42-43,31/44/32/45 48/62,49/63,50/64,51/65,52/66,53/67,54/68-69
0.8 0.95 0.1 0.1 9/12,10/13,11/14,12/15,13/16,14/17,15/18,16/19 23/26,24/27-28,25/29,26/30,27/31,28/32,29/33
0.8 0.95 0.05 0.2 6/8,7/9,8/10,9/11,10/12-13,11/14,12/15 23/26,24/27,25/28,26/29,27/30,28/31,29/32,30/33
0.8 0.95 0.05 0.1 22/26,23/27,24/28,25/29,26/30,27/31,28/32,29/33 31/35,32/36,33/37,34/38,35/39-40,36/41,37/42
0.05 0.25 0.1 0.1 0/8-15 1/17,2/18-24
0.05 0.25 0.05 0.2 0/6-12,1/13 2/14-21
0.05 0.25 0.05 0.1 0/10-16,1/17 2/21-22,3/23-28
0.1 0.3 0.1 0.1 0/11-13,1/14-18 3/22-23,4/24-26,5/27-29
0.1 0.3 0.05 0.2 0/11-14,1/15-18 3/19,4/20-22,5/23-26
0.1 0.3 0.05 0.1 1/17-20,2/21-23,3/24 5/28-30,6/31-35
0.2 0.4 0.1 0.1 3/22-23,4/24,5/25-27,6/28-29 8/30-31,9/32/33,10/34-37
0.2 0.4 0.05 0.2 2/14,3/15-18,4/19-21 9/28-31,10/32-34,11/35
0.2 0.4 0.05 0.1 5/27-29,11/40,12/41-42,6/30-32,7/33-34 13/43-45,14/46-47
0.3 0.5 0.1 0.1 6/24-25,7/26-29,8/30,9/31 13/35,14/36-37,15/38-40,16/41-42
0.3 0.5 0.05 0.2 5/18-19,6/20-22,14/33-35,15/36-37,7/23-24,8/25 16/38-39,17/40
0.3 0.5 0.05 0.1 7/27,8/28-29,19/47-49,20/50-51,9/30-31,10/32-34 21/52-53,22/54
0.4 0.6 0.1 0.1 8/23-24,9/25-26,10/27,11/28-29,12/30 18/37-38,19/39-40,20/41,21/42-43,22/44
0.4 0.6 0.05 0.2 6/18,7/19-20,8/21-22,9/23,10/24-25 18/35-36,19/37,20/38-39,21/40,22/41-42
0.4 0.6 0.05 0.1 10/26-27,11/28,12/29-31,13/32-33 25/50-51,26/52,27/53-54,28/55-56,29/57
0.5 0.7 0.1 0.1 8/18,9/19-20,10/21,11/22-23,12/24,13/25 21/36,22/37-38,23/39,24/40-41,25/42-43
0.5 0.7 0.05 0.2 7/15,8/16-17,9/18-19,10/20,11/21,12/22 21/34,22/35-36,23/37-38,24/39,25/40,26/41
0.5 0.7 0.05 0.1 14/30-31,15/32,16/33-34,17/35,18/36,19/37 18/47,29/48,30/49-50,31/51,32/52-53,33/54
0.6 0.8 0.1 0.1 9/17-18,10/19,11/20,12/21,13/22-23,14/24 21/30-31,22/32,23/33,24/34-35,25/36,26/37
0.6 0.8 0.05 0.2 6/11,7/12-13,8/14,9/15-16,10/17,11/18 21/29,22/30-31,23/32,24/33,25/34-35,26/36
0.6 0.8 0.05 0.1 11/19,12/20-21,13/22,14/23,15/24-26 29/41,30/42-43,31/44,32/45,33/46-47,34/48
0.7 0.9 0.1 0.1 5/8,6/9,7/10-11,8/12,9/13,10/14-15 17/22,18/23,19/24,20/25,21/26,22/27-28,23/29
0.7 0.9 0.05 0.2 5/8,6/9,7/10,8/11,9/12-13,10/14,11/15 17/21,18/22,19/23,20/24,21/25,22/26-27,23/28
0.7 0.9 0.05 0.1 8/12,9/13,10/14,11/15,12/16-17,13/18,14/19 24/30,35/31,26/32,27/33,28/34-35,29/36,30/37

例 一新型抗肿瘤药品进行二期临床试验,标准治疗的有效率为20%,如果新型药品的有效率达40%,则认为有临床价值。优化灵活两阶段设计,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

MinimaxFlexibleTwoStageDesigns <- function(alphap,betap,p0p,p1p){
  data <- read.csv("MinimaxFlexibleTwoStage.csv",header=T)
for(i in 1:length(data$p0)){
  if(is.na(data$p0[i])==T){
    data$p0[i]  <- data$p0[i-1] 
    data$p1[i]  <- data$p1[i-1] 
  }
}
  data%>>%
    subset(p0==p0p)%>>%
    subset(p1==p1p)%>>%
    subset(alpha==alphap)%>>%
    subset(beta==betap)%>>%
    return()
}

MinimaxFlexibleTwoStageDesigns(0.05,0.1,0.20,0.40)
##     p0  p1 alpha beta                                  ri_ni
## 36 0.2 0.4  0.05  0.1 5/27-29,11/40,12/41-42,6/30-32,7/33-34
##                Rj_Nj
## 36 13/43-45,14/46-47

该研究第一阶段需要27-29个病例,如果至少5例有效,则可进行第二阶段试验。第二阶段继续做16个病例,总数达到43-45例。如果13例有效,则可进行进一步研究。

优化三阶段设计(Optimal Three-Stage Designs)

该设计的基本模式和两阶段相同。其样本含量和临界值,Ensign等可查询下表

data <- read.csv("OptimalThreeStageDesignsEnsign.csv",header=T)
  
  for(i in 1:length(data$p0)){
    if(is.na(data$p0[i])==T){
      data$p0[i]  <- data$p0[i-1] 
      data$p1[i]  <- data$p1[i-1] 
    }
  }
panderOptions('digits', 2)
panderOptions('table.split.table',500)  
pander(data)
p0 p1 alpha beta S1_r1_n1 S2_r2_n1n2 S3_r3_n1n2n3
0.05 0.2 0.1 0.1 0/12 1/25 3/38
0.05 0.2 0.05 0.2 0/10 2/24 3/31
0.05 0.2 0.05 0.1 0/14 2/29 4/4
0.1 0.25 0.1 0.1 0/11 3/29 7/50
0.1 0.25 0.05 0.2 0/9 3/25 7/43
0.1 0.25 0.05 0.1 0/13 3/27 10/66
0.15 0.3 0.1 0.1 0/12 4/28 11/55
0.15 0.3 0.05 0.2 0/9 5/27 12/56
0.15 0.3 0.05 0.1 0/13 6/35 16/77
0.2 0.35 0.1 0.1 0/11 7/34 16/63
0.2 0.35 0.05 0.2 0/6 6/28 18/67
0.2 0.35 0.05 0.1 0/9 10/44 23/88
0.25 0.4 0.1 0.1 0/8 8/32 23/76
0.25 0.4 0.05 0.2 0/6 7/26 24/75
0.25 0.4 0.05 0.1 0/9 11/41 30/95
0.3 0.45 0.1 0.1 0/7 13/41 28/79
0.3 0.45 0.05 0.2 0/7 9/27 31/84
0.3 0.45 0.05 0.1 0/9 14/43 38/104
0.35 0.5 0.1 0.1 0/9 12/34 33/81
0.35 0.5 0.05 0.2 0/5 12/31 37/88
0.35 0.5 0.05 0.1 0/8 17/45 45/108
0.4 0.55 0.1 0.1 0/11 16/38 40/88
0.4 0.55 0.05 0.2 0/5 14/32 40/84
0.4 0.55 0.05 0.1 0/10 19/45 49/104
0.45 0.6 0.1 0.1 0/6 15/34 40/78
0.45 0.6 0.05 0.2 0/5 12/25 47/90
0.45 0.6 0.05 0.1 0/6 20/42 59/114
0.5 0.65 0.1 0.1 0/5 16/32 46/84
0.5 0.65 0.05 0.2 0/5 12/25 47/90
0.5 0.65 0.05 0.1 0/6 20/42 59/114
0.55 0.7 0.1 0.1 0/7 19/34 46/75
0.55 0.7 0.05 0.2 0/5 15/26 48/76
0.55 0.7 0.05 0.1 0/5 23/40 64/96
0.6 0.75 0.1 0.1 0/5 21/34 47/71
0.6 0.75 0.05 0.2 0/5 13/21 49/72
0.6 0.75 0.05 0.1 0/5 14/23 90/98
0.65 0.8 0.1 0.1 0/5 17/26 47/66
0.65 0.8 0.05 0.2 0/5 12/18 49/67
0.65 0.8 0.05 0.2 0/5 8/13 74/78
0.7 0.85 0.1 0.1 0/5 14/20 45/59
0.7 0.85 0.05 0.2 0/5 14/19 46/59
0.7 0.85 0.05 0.1 0/5 12/17 68/72
0.75 0.9 0.1 0.1 0/5 16/21 36/44
0.75 0.9 0.05 0.2 0/5 10/13 40/48
0.75 0.9 0.05 0.1 0/5 8/11 55/57
0.8 0.95 0.1 0.1 0/5 5/7 27/31
0.8 0.95 0.05 0.2 0/5 7/9 26/29
0.8 0.95 0.05 0.1 0/5 8/10 44/45
0.05 0.25 0.1 0.1 0/9 1/19 2/25
0.05 0.25 0.05 0.2 0/7 1/15 3/26
0.05 0.25 0.05 0.1 0/9 1/22 3/30
0.1 0.3 0.1 0.1 0/10 2/19 4/26
0.1 0.3 0.05 0.2 0/6 2/17 5/29
0.1 0.3 0.05 0.1 0/9 3/22 7/45
0.15 0.35 0.1 0.1 0/9 2/16 7/33
0.15 0.35 0.05 0.2 0/5 3/17 9/41
0.15 0.35 0.05 0.1 0/9 4/23 10/44
0.2 0.4 0.1 0.1 0/8 3/16 11/42
0.2 0.4 0.05 0.2 0/5 4/17 12/43
0.2 0.4 0.05 0.1 0/9 4/23 15/54
0.25 0.45 0.1 0.1 0/6 6/23 14/44
0.25 0.45 0.05 0.2 0/5 5/17 16/48
0.25 0.45 0.05 0.1 0/7 6/22 20/61
0.3 0.5 0.1 0.1 0/6 6/20 17/46
0.3 0.5 0.05 0.2 0/5 5/15 19/49
0.3 0.5 0.05 0.1 0/8 8/24 24/63
0.35 0.55 0.1 0.1 0/6 7/20 20/47
0.35 0.55 0.05 0.2 0/6 8/20 19/42
0.35 0.55 0.05 0.1 0/5 10/26 29/67
0.4 0.6 0.1 0.1 0/5 8/20 22/46
0.4 0.6 0.05 0.2 0/5 7/16 24/48
0.4 0.6 0.05 0.1 0/5 9/22 30/61
0.45 0.65 0.1 0.1 0/5 10/21 26/50
0.45 0.65 0.05 0.2 0/5 7/15 24/43
0.45 0.65 0.05 0.1 0/5 15/30 32/59
0.5 0.7 0.1 0.1 0/5 11/21 26/45
0.5 0.7 0.05 0.2 0/5 8/15 26/43
0.5 0.7 0.05 0.1 0/5 12/23 34/57
0.55 0.75 0.1 0.1 0/5 10/18 26/41
0.55 0.75 0.05 0.2 0/5 9/15 28/43
0.55 0.75 0.05 0.1 0/5 10/18 35/54
0.6 0.8 0.1 0.1 0/5 6/11 26/38
0.6 0.8 0.05 0.2 0/5 7/11 30/43
0.6 0.8 0.05 0.1 0/5 12/19 37/53
0.65 0.85 0.1 0.1 0/5 10/15 25/34
0.65 0.85 0.05 0.2 0/5 10/14 25/33
0.65 0.85 0.05 0.2 0/5 10/15 33/44
0.7 0.9 0.1 0.1 0/5 6/9 22/28
0.7 0.9 0.05 0.2 0/5 4/6 22/27
0.7 0.9 0.05 0.1 0/5 11/15 29/36
0.75 0.95 0.1 0.1 0/5 6/8 16/19
0.75 0.95 0.05 0.2 0/5 9/11 19/22
0.75 0.95 0.05 0.1 0/5 7/9 24/28

Chen扩展的样本量和临床界值可查询下表

data <- read.csv("OptimalThreeStageDesignsChen.csv",header = T)
  
  for(i in 1:length(data$p0)){
    if(is.na(data$p0[i])==T){
      data$p0[i]  <- data$p0[i-1] 
      data$p1[i]  <- data$p1[i-1] 
    }
  }
panderOptions('digits', 2)
panderOptions('table.split.table',500)  
pander(data)
p0 p1 alpha beta S1_r1_n1 S2_r2_n1n2 S3_r3_n1n2n3
0.05 0.2 0.1 0.1 0/13 1/22 3/37
0.05 0.2 0.05 0.2 0/10 1/19 3/30
0.05 0.2 0.05 0.1 0/14 2/29 4/43
0.1 0.25 0.1 0.1 1/17 3/29 7/50
0.1 0.25 0.05 0.2 1/13 3/24 8/53
0.1 0.25 0.05 0.1 1/17 4/34 10/66
0.15 0.3 0.1 0.1 2/20 5/33 11/55
0.15 0.3 0.05 0.2 2/15 6/33 13/62
0.15 0.3 0.05 0.1 3/23 8/46 16/77
0.2 0.35 0.1 0.1 3/21 8/37 17/68
0.2 0.35 0.05 0.2 3/17 9/37 18/68
0.2 0.35 0.05 0.1 5/27 11/49 23/88
0.25 0.4 0.1 0.1 4/20 10/39 24/80
0.25 0.4 0.05 0.2 4/17 12/42 25/79
0.25 0.4 0.05 0.1 6/26 15/54 32/103
0.3 0.45 0.1 0.1 6/24 14/44 28/79
0.3 0.45 0.05 0.2 5/18 14/41 31/84
0.3 0.45 0.05 0.1 8/29 19/57 38/104
0.35 0.5 0.1 0.1 7/23 18/49 34/84
0.35 0.5 0.05 0.2 6/19 17/43 34/80
0.35 0.5 0.05 0.1 9/28 23/60 45/108
0.4 0.55 0.1 0.1 7/21 19/46 38/83
0.4 0.55 0.05 0.2 7/19 19/43 39/82
0.4 0.55 0.05 0.1 12/31 28/64 54/116
0.45 0.6 0.1 0.1 12/28 27/56 43/85
0.45 0.6 0.05 0.2 8/19 21/42 45/86
0.45 0.6 0.05 0.1 13/30 29/60 58/112
0.5 0.65 0.1 0.1 10/22 25/48 48/86
0.5 0.65 0.05 0.2 8/17 21/39 49/85
0.5 0.65 0.05 0.1 14/29 34/63 62/109
0.55 0.7 0.1 0.1 13/25 25/44 47/77
0.55 0.7 0.05 0.2 7/14 23/39 49/78
0.55 0.7 0.05 0.1 15/28 36/61 65/105
0.6 0.75 0.1 0.1 11/20 26/42 57/71
0.6 0.75 0.05 0.2 8/14 23/36 52/77
0.6 0.75 0.05 0.1 14/24 36/56 70/105
0.65 0.8 0.1 0.1 11/18 27/40 49/69
0.65 0.8 0.05 0.2 8/13 27/38 52/72
0.65 0.8 0.05 0.2 16/25 35/50 66/92
0.7 0.85 0.1 0.1 14/20 18/37 45/59
0.7 0.85 0.05 0.2 4/7 11/16 44/56
0.7 0.85 0.05 0.1 12/18 28/38 58/75
0.75 0.9 0.1 0.1 10/14 23/29 38/47
0.75 0.9 0.05 0.2 9/12 21/26 39/47
0.75 0.9 0.05 0.1 10/14 23/29 55/67
0.8 0.95 0.1 0.1 5/7 16/19 30/35
0.8 0.95 0.05 0.2 2/3 16/19 35/40
0.8 0.95 0.05 0.1 6/8 24/28 41/47
0.05 0.25 0.1 0.1 0/9 1/18 2/26
0.05 0.25 0.05 0.2 0/8 1/13 2/19
0.05 0.25 0.05 0.1 0/10 1/17 3/30
0.1 0.3 0.1 0.1 0/10 2/19 4/26
0.1 0.3 0.05 0.2 0/6 2/17 5/29
0.1 0.3 0.05 0.1 1/13 3/23 7/45
0.15 0.35 0.1 0.1 1/12 3/21 7/33
0.15 0.35 0.05 0.2 1/9 4/21 8/35
0.15 0.35 0.05 0.1 2/15 5/27 11/51
0.2 0.4 0.1 0.1 1/10 6/26 11/43
0.2 0.4 0.05 0.2 1/8 5/22 11/38
0.2 0.4 0.05 0.1 3/17 7/30 14/50
0.25 0.45 0.1 0.1 3/16 7/25 13/41
0.25 0.45 0.05 0.2 2/10 6/20 16/48
0.25 0.45 0.05 0.1 4/18 10/33 19/58
0.3 0.5 0.1 0.1 3/13 9/28 17/46
0.3 0.5 0.05 0.2 3/11 7/21 18/46
0.3 0.5 0.05 0.1 4/16 11/32 23/60
0.35 0.55 0.1 0.1 6/18 13/33 20/48
0.35 0.55 0.05 0.2 3/10 9/23 21/47
0.35 0.55 0.05 0.1 6/18 15/38 27/62
0.4 0.6 0.1 0.1 7/18 9/26 22/46
0.4 0.6 0.05 0.2 3/9 10/23 23/46
0.4 0.6 0.05 0.1 6/16 17/38 32/66
0.45 0.65 0.1 0.1 5/13 13/27 26/50
0.45 0.65 0.05 0.2 3/8 10/20 29/54
0.45 0.65 0.05 0.1 6/15 17/34 34/63
0.5 0.7 0.1 0.1 4/10 12/24 26/45
0.5 0.7 0.05 0.2 4/9 13/23 29/49
0.5 0.7 0.05 0.1 7/15 19/34 38/65
0.55 0.75 0.1 0.1 5/11 12/21 27/43
0.55 0.75 0.05 0.2 6/11 14/23 28/43
0.55 0.75 0.05 0.1 7/14 16/27 36/56
0.6 0.8 0.1 0.1 6/11 14/22 29/43
0.6 0.8 0.05 0.2 5/9 12/48 28/40
0.6 0.8 0.05 0.1 6/11 19/29 38/55
0.65 0.85 0.1 0.1 5/9 13/19 25/34
0.65 0.85 0.05 0.2 5/8 13/18 27/36
0.65 0.85 0.05 0.1 6/10 16/23 35/47
0.7 0.9 0.1 0.1 5/8 11/15 22/28
0.7 0.9 0.05 0.2 3/5 10/13 25/31
0.7 0.9 0.05 0.1 6/9 16/21 31/39
0.75 0.95 0.1 0.1 3/5 6/8 16/19
0.75 0.95 0.05 0.2 1/2 9/11 19/22
0.75 0.95 0.05 0.1 6/8 13/16 24/28

例 一新型抗肿瘤药品进行二期临床试验,标准治疗的有效率为20%,如果新型药品的有效率达40%,则认为有临床价值。优化三阶段设计,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

OptimalThreeStageDesignsEnsign<- function(alphap,betap,p0p,p1p){
  data <- read.csv("OptimalThreeStageDesignsEnsign.csv",header = T)
  
  for(i in 1:length(data$p0)){
    if(is.na(data$p0[i])==T){
      data$p0[i]  <- data$p0[i-1] 
      data$p1[i]  <- data$p1[i-1] 
    }
  }
  
  data%>>%
    subset(p0==p0p)%>>%
    subset(p1==p1p)%>>%
    subset(alpha==alphap)%>>%
    subset(beta==betap)%>>%
    return()
}


OptimalThreeStageDesignsChen <- function(alphap,betap,p0p,p1p){
  data <- read.csv("OptimalThreeStageDesignsChen.csv",header = T)
  
  for(i in 1:length(data$p0)){
    if(is.na(data$p0[i])==T){
      data$p0[i]  <- data$p0[i-1] 
      data$p1[i]  <- data$p1[i-1] 
    }
  }
  
  data%>>%
    subset(p0==p0p)%>>%
    subset(p1==p1p)%>>%
    subset(alpha==alphap)%>>%
    subset(beta==betap)%>>%
    return()
}

OptimalThreeStageDesignsEnsign(0.05,0.1,0.20,0.40)
##     p0  p1 alpha beta S1_r1_n1 S2_r2_n1n2 S3_r3_n1n2n3
## 60 0.2 0.4  0.05  0.1      0/9       4/23        15/54
OptimalThreeStageDesignsChen(0.05,0.1,0.20,0.40)
##     p0  p1 alpha beta S1_r1_n1 S2_r2_n1n2 S3_r3_n1n2n3
## 60 0.2 0.4  0.05  0.1     3/17       7/30        14/50

依据Ensign法,该研究第一阶段需要9名病例,如果是少有1例有效,则可以进行第二阶段研究。第二阶段继续做14例,达到23例,如果至少4例有效,则可以进行第三阶段的研究。第三阶段继续做31例,达到54例,如果至少有15例有效,则可进行进一步研究。Chen法的结果解释类似。

极小三阶段设计需要的样本两最小,其样本含量和临界值可查询下表

data <- read.csv("MinimaxThreeStageDesignsChen.csv",header = T)
  
  for(i in 1:length(data$p0)){
    if(is.na(data$p0[i])==T){
      data$p0[i]  <- data$p0[i-1] 
      data$p1[i]  <- data$p1[i-1] 
    }
  }
panderOptions('digits', 2)
panderOptions('table.split.table',500)  
pander(data)
p0 p1 alpha beta S1_r1_n1 S2_r2_n1n2 S3_r3_n1n2n3
0.05 0.2 0.1 0.1 0/18 1/26 3/32
0.05 0.2 0.05 0.2 0/14 1/20 3/27
0.05 0.2 0.05 0.1 0/23 1/30 4/38
0.1 0.25 0.1 0.1 1/23 3/33 6/40
0.1 0.25 0.05 0.2 1/17 3/30 7/40
0.1 0.25 0.05 0.1 1/21 4/39 9/55
0.15 0.3 0.1 0.1 2/23 5/36 11/53
0.15 0.3 0.05 0.2 2/19 6/36 11/48
0.15 0.3 0.05 0.1 4/35 8/51 14/64
0.2 0.35 0.1 0.1 5/30 9/45 15/58
0.2 0.35 0.05 0.2 3/22 7/35 15/53
0.2 0.35 0.05 0.1 16/65 19/72 20/74
0.25 0.4 0.1 0.1 6/31 11/46 20/64
0.25 0.4 0.05 0.2 7/30 12/42 20/60
0.25 0.4 0.05 0.1 9/47 17/67 27/83
0.3 0.45 0.1 0.1 7/29 16/51 25/69
0.3 0.45 0.05 0.2 8/29 14/42 25/65
0.3 0.45 0.05 0.1 12/46 25/73 33/88
0.35 0.5 0.1 0.1 12/39 20/57 30/72
0.35 0.5 0.05 0.2 10/33 18/48 29/66
0.35 0.5 0.05 0.1 11/36 22/60 40/94
0.4 0.55 0.1 0.1 10/30 19/48 34/73
0.4 0.55 0.05 0.2 13/33 30/63 34/70
0.4 0.55 0.05 0.1 20/55 32/77 45/94
0.45 0.6 0.1 0.1 18/41 35/69 38/74
0.45 0.6 0.05 0.2 13/32 25/53 38/70
0.45 0.6 0.05 0.1 26/58 47/90 50/95
0.5 0.65 0.1 0.1 19/40 24/64 41/72
0.5 0.65 0.05 0.2 18/36 36/62 40/68
0.5 0.65 0.05 0.1 19/43 34/67 54/93
0.55 0.7 0.1 0.1 23/43 36/60 42/68
0.55 0.7 0.05 0.2 18/33 41/64 42/66
0.55 0.7 0.05 0.1 23/43 42/84 45/89
0.6 0.75 0.1 0.1 19/35 30/50 43/64
0.6 0.75 0.05 0.2 19/32 40/58 42/61
0.6 0.75 0.05 0.1 18/46 50/75 57/84
0.65 0.8 0.1 0.1 22/33 26/41 43/60
0.65 0.8 0.05 0.2 16/26 27/40 41/55
0.65 0.8 0.05 0.2 25/41 37/56 55/75
0.7 0.85 0.1 0.1 15/22 18/37 40/52
0.7 0.85 0.05 0.2 11/17 16/24 39/49
0.7 0.85 0.05 0.1 13/20 31/42 43/68
0.75 0.9 0.1 0.1 11/17 22/29 33/40
0.75 0.9 0.05 0.2 8/12 16/21 33/39
0.75 0.9 0.05 0.1 12/17 23/30 45/54
0.8 0.95 0.1 0.1 1/3 17/20 26/30
0.8 0.95 0.05 0.2 7/9 16/19 26/29
0.8 0.95 0.05 0.1 16/20 31/35 35/40
0.05 0.25 0.1 0.1 0/13 1/18 2/20
0.05 0.25 0.05 0.2 0/12 1/15 2/16
0.05 0.25 0.05 0.1 0/15 1/21 3/25
0.1 0.3 0.1 0.1 0/12 1/16 4/25
0.1 0.3 0.05 0.2 0/11 2/19 5/25
0.1 0.3 0.05 0.1 0/14 2/22 6/33
0.15 0.35 0.1 0.1 1/13 3/22 7/32
0.15 0.35 0.05 0.2 1/12 3/19 7/28
0.15 0.35 0.05 0.1 1/16 4/28 9/38
0.2 0.4 0.1 0.1 2/16 5/26 10/36
0.2 0.4 0.05 0.2 2/13 5/22 10/33
0.2 0.4 0.05 0.1 2/16 6/28 13/45
0.25 0.45 0.1 0.1 3/18 8/31 13/39
0.25 0.45 0.05 0.2 3/15 6/23 13/36
0.25 0.45 0.05 0.1 4/21 9/35 17/45
0.3 0.5 0.1 0.1 6/26 11/35 15/39
0.3 0.5 0.05 0.2 3/13 8/24 16/39
0.3 0.5 0.05 0.1 5/20 12/36 21/53
0.35 0.55 0.1 0.1 2/11 10/27 18/42
0.35 0.55 0.05 0.2 4/14 9/24 18/39
0.35 0.55 0.05 0.1 10/34 17/45 24/53
0.4 0.6 0.1 0.1 5/17 9/26 20/41
0.4 0.6 0.05 0.2 4/12 11/25 21/41
0.4 0.6 0.05 0.1 7/20 17/39 27/54
0.45 0.65 0.1 0.1 6/16 13/29 22/41
0.45 0.65 0.05 0.2 6/15 12/24 22/39
0.45 0.65 0.05 0.1 15/32 28/51 29/53
0.5 0.7 0.1 0.1 7/17 14/28 23/39
0.5 0.7 0.05 0.2 7/16 13/25 23/37
0.5 0.7 0.05 0.1 8/18 18/34 32/53
0.55 0.75 0.1 0.1 13/23 22/35 24/38
0.55 0.75 0.05 0.2 8/15 14/23 24/36
0.55 0.75 0.05 0.1 12/22 21/35 32/49
0.6 0.8 0.1 0.1 8/15 14/22 24/35
0.6 0.8 0.05 0.2 9/15 23/32 24/34
0.6 0.8 0.05 0.1 15/26 24/37 32/45
0.65 0.85 0.1 0.1 4/8 11/17 23/31
0.65 0.85 0.05 0.2 6/10 13/18 23/30
0.65 0.85 0.05 0.2 16/24 28/37 30/40
0.7 0.9 0.1 0.1 5/9 13/18 20/25
0.7 0.9 0.05 0.2 4/7 19/23 20/25
0.7 0.9 0.05 0.1 5/9 12/17 26/32
0.75 0.95 0.1 0.1 3/5 6/8 16/19
0.75 0.95 0.05 0.2 6/8 14/16 17/20
0.75 0.95 0.05 0.1 9/12 19/22 22/26

例 一新型抗肿瘤药品进行二期临床试验,标准治疗的有效率为20%,如果新型药品的有效率达40%,则认为有临床价值。极小三阶段设计,在\(\alpha=0.05\),\(\beta=0.1\),需要多少病例?

MinimaxThreeStageDesignsChen <- function(alphap,betap,p0p,p1p){
  data <- read.csv("MinimaxThreeStageDesignsChen.csv",header = T)
  
  for(i in 1:length(data$p0)){
    if(is.na(data$p0[i])==T){
      data$p0[i]  <- data$p0[i-1] 
      data$p1[i]  <- data$p1[i-1] 
    }
  }
  
  data%>>%
    subset(p0==p0p)%>>%
    subset(p1==p1p)%>>%
    subset(alpha==alphap)%>>%
    subset(beta==betap)%>>%
    return()
}

MinimaxThreeStageDesignsChen(0.05,0.1,0.20,0.40)
##     p0  p1 alpha beta S1_r1_n1 S2_r2_n1n2 S3_r3_n1n2n3
## 60 0.2 0.4  0.05  0.1     2/16       6/28        13/45

该研究第一阶段需要16名病例,如果是少有2例有效,则可以进行第二阶段研究。第二阶段继续做12例,达到28例,如果至少6例有效,则可以进行第三阶段的研究。第三阶段继续做17例,达到45例,如果至少有13例有效,则可进行进一步研究。

多组灵活设计(Flexible Designs for Multiple-Arm Trials)

该设计需要事先规定一个有临床意义的界值\([-\delta,\delta]\),如果率的差值大于\(\delta\) ,那么,率大的组被选择,如果率的差值小于或者等于\(\delta\),在选择过长中就需要考虑其他因素。此种设计,不是比较各组之间和好坏,而是尽可能正确的选择出优势治疗的存在,以便进一步研究。两组灵活设计的样本量,在\(\delta= 0.05\, \rho= 0 \, or\, \rho = 0.5\)可查询下表,\(\lambda\)为预先指定的阈值。

data <- read.csv("FlexibleDesignsforTwoArm.csv",header = T)
pander(data)
p1 p2 Lambda0.9rho0 Lambda0.8 Lambda0.9rho0.5
0.05 0.2 32 13 16
0.1 0.25 38 15 27
0.15 0.3 0.53 17 31
0.2 0.35 57 19 34
0.25 0.4 71 31 36
0.3 0.45 73 32 38
0.35 0.5 75 32 46
0.4 0.55 76 33 47

例 一新型抗肿瘤药品与现有标准治疗对照进行二期临床试验,如果新型药品的有效率达35%,标准治疗有效率为20%,两组灵活设计,在\(\delta=0.05\),\(\rho=0\)\(\lambda=0.90\)需要多少病例?

FlexibleDesignsforTwoArm <- function(p1p,p2p){
  data <- read.csv("FlexibleDesignsforTwoArm.csv",header = T)
  data%>>%
    subset(p1==p1p)%>>%
    subset(p2==p2p)%>>%
    return()
}

FlexibleDesignsforTwoArm(0.20,0.35)
##    p1   p2 Lambda0.9rho0 Lambda0.8 Lambda0.9rho0.5
## 4 0.2 0.35            57        19              34

每组至少需要57例。

多组灵活设计,在\(\delta= 0.05\, \lambda= 0.8 \, or\, \lambda = 0.9\)可查询下表,\(\lambda\)为预先指定的阈值

data <- read.csv("FlexibleDesignsforMultipleArm.csv",header = T)
pander(data)
lambda epsilon rho0r3 rho0r4 rho0.5r3 rho0.5r4
0.8 0.2 18 31 13 16
0.8 0.3 38 54 26 32
0.8 0.4 54 73 31 39
0.8 0.5 58 78 34 50
0.9 0.2 39 53 30 34
0.9 0.3 77 95 51 59
0.9 0.4 98 119 68 78
0.9 0.5 115 147 73 93

例 一新型抗肿瘤药品与两个标准治疗对照进行二期临床试验,预计新型药品比对照的有效率高30%(\(\epsilon=0.3\)),三组灵活设计,在\(\delta=0.05\),\(\rho=0\)\(\lambda=0.90\)需要多少病例?

FlexibleDesignsforMultipleArm<- function(lambdap,epsilonp){
  data <- read.csv("FlexibleDesignsforMultipleArm.csv",header = T)
  data%>>%
    subset(lambda==lambdap)%>>%
    subset(epsilon==epsilonp)%>>%
    return()
}

FlexibleDesignsforMultipleArm(0.9,0.3)
##   lambda epsilon rho0r3 rho0r4 rho0.5r3 rho0.5r4
## 6    0.9     0.3     77     95       51       59

每组至少需要77例。

拟合优度和列联表检验的样本量估计(Tests for Goodness-of-Fit and Contingency Tables)

临床试验中,当计数资料的指标有多个类别,而不是二分类时,适合的检验方法通常为拟合优度检验、独立性检验(也称列联表检验)和categorical shift检验。

拟合优度检验 (Tests for Goodness-of-Fit),样本含量估算公式

\[n=\delta _{\alpha ,\beta } \begin{bmatrix} \sum_{k=1}^{r}\frac{(p_{k}-p_{k,0})^{2}}{p_{k,0}} \end{bmatrix}^{-1}\],\(p_{k}\)为实验组每个分类的率,\(p_{k,0}\)为文献中每个分类的的率,\(\delta_{\alpha ,\beta }\)通过\(F_{r-1}(\chi_{\alpha ,r-1}^{2}|\delta )=\beta\)计算,\(\delta =\underset{n \to \infty }{lim}\sum_{k=1}^{r}\frac{n(p_{k}-p_{k,0})^{2}}{p_{k,0}}\),r为分类的个数。

例 一探索性临床试验(pilot study),研究一降压药的临床疗效。预试验表明该药治疗高血压的显效率、进步率和无效率分别玩儿20%,60%和20%。文献报道,现有降压药的显效率、进步率和无效率分别为25%,45%和30%。单组设计,在\(\alpha=0.05,\beta=0.2\)时,双侧差异性检验,需要多少样本量?

gof.Pearson(0.05,0.2,c(0.2,0.6,0.2),c(0.25,0.45,0.30),3)
## [1] 103.2857

该研究需要104例。

单层独立性检验(Test for Independence—Single Stratum)

对于没有分层的r×c列联表数据(two-way),即单程列连数据,在进行样本量估计常用以下两种方法。

Pearson’s Test

Pearson检验的样本量计算公式如下, \[n=\delta _{\alpha ,\beta }\begin{bmatrix} \sum_{i=1}^{r}\sum_{j=1}^{c}\frac{(p_{ij}-p_{i}p_{j})^{2}}{p_{i}p_{j}} \end{bmatrix}^{-1}\]\(\delta _{\alpha ,\beta }\) 通过\[ F_{(r-1)(c-1)}(\chi _{\alpha,(r-1)(c-1))}^{2}|\delta)=\beta \]计算,\(\delta =\underset{n \to \infty }{lim}\sum_{i=1}^{r}\sum_{j=1}^{c}\frac{n(p_{ij}-p_{i.}p_{.j})^{2}}{p_{i.}p_{j.}}\),r代表横向分类数据的个数,c代表纵向分类数据的个数。

例 一新型降压要与对照药进行探索行临床试验,其结果如下

分组 无效 有 效 显
试验组 2 7 1
对照组 2 5 3

为验证差别的存在,设计较大规模的临床实验,两组平行1:1对照,在\(\alpha=0.05,\beta=0.2\)时,双侧差异性检验,需要多少样本量?

gof.Pearson.twoway <- function (alpha, beta, trt, ctl, r, c) 
{
  p.ij <- rbind(trt, ctl)/(sum(trt) + sum(ctl))
  b = 0
  noncen = 0
  for (i in 1:1000) {
    b[i + 1] <- pchisq(qchisq(alpha, df = (r-1)*(c-1), ncp = 0, 
                              lower.tail = FALSE), df = (r-1)*(c-1), ncp = i/100)
    noncen = rbind(noncen, c(i, b[i], b[i + 1]))
  }
  delta = noncen[which(noncen[, 2] > beta & noncen[, 3] < 
                         beta)]/100
  n <- delta * (as.numeric(chisq.test(p.ij)$statistic))^-1
  return(n)
}

gof.Pearson.twoway(0.05, 0.2, c(0.2,0.7,0.1), c(0.2,0.5,0.3), 2, 3)
## Warning in chisq.test(p.ij): Chi-squared approximation may be incorrect
## [1] 144.6

该研究每组需要145例。TrialSize包中gof.Pearson.twoway()方法对自由度计算有误。

似然比检验(Likelihood Ratio Test)

似然比检验的样本量计算公式等价于Pearson检验样本量计算公式。

多层独立性检验(Test for Independence—Multiple Strata)

多中心临床实验不仅可以保障实验结果的可重复性和代表性,而且也有利于受试着在期望时间内入选。多中心临床实验属于多层列联表数据,当反映率是二分类资料时,CMH检验(Cochran-Mantel-Haenszel Test)是常用的检验方法。

分组 0 1 合计
处理1 \(n_{h,10}\) \(n_{h,11}\) \(n_{h,1.}\)
处理2 \(n_{h,20}\) \(n_{h,21}\) \(n_{h,2.}\)
合计 \(n_{h,.0}\) \(n_{h,.1}\) \(n_{h,..}\)

其样本含量估计公式:\[\delta=lim\begin{vmatrix} \frac{\sum _{h=1}^{H}\pi_{h} (p_{h,11}-p_{h,1.}p_{h,.1})}{\sqrt{\sum _{h=1}^{H}\pi_{h}p_{h,1.}p_{h,2.}p_{h,.0}p_{h,.1}}} \end{vmatrix}\],\[n=\frac{(z_{\alpha /2}+z_{\beta })^{2}}{\delta ^{2}}\]\(n_{h,ij}\)是在第h层(中心),经i处理后,出现j反应的个数,\(p_{h,ij}\)是在h层(中心),经i处理后,出现j反应的率,\(\pi_{h}=n_{h}/n\)。此方法只使用于多中心临床实验中治疗反应数据是二分类的情况,对于多分类的数据,其样本量估算公式目前还没有可靠的方法。现在主要把p×r×c表合并成r*c表,用单层列联表样本量公式进行估算。

例 一新型抗肿瘤药与安慰剂对照进行小规模多中心探索性临床试验,主要目标是观察不良时间的发生率,其结果如下

分层 分组 反应无 反应有 合计
1 试验组 0.35 0.15 0.50
对照组 0.25 0.25 0.50
2 试验组 0.30 0.20 0.50
对照组 0.20 0.30 0.50
3 试验组 0.40 0.10 0.50
对照组 0.20 0.30 0.50
4 试验组 0.35 0.15 0.50
对照组 0.15 0.35 0.50

基于以上数据,研究者希望设计一个较大规模的临床实验,两组平行1:1对照设计,每个分层的样本数量相同,即\(\pi=1/4\),在\(\alpha=0.05,\beta=0.2\)时,双侧差异性检验,需要多少样本量?

CMH.Equality <- function(alpha,beta,p,h){
  pi <- 1/h
  numerator <- function(p){
    sum <- pi*(p[1,2]-rowSums(p)[1]*colSums(p)[2])
  }
  
  denominator <- function(p){
    sum <- pi*rowSums(p)[1]*rowSums(p)[2]*colSums(p)[1]*colSums(p)[2]
  }
  
  delta <- abs(sum(sapply(p,numerator))/sqrt(sum(sapply(p,denominator))))
  
  n <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 /(delta)^2
  n
}

p1 <- rbind(c(0.35,0.15),c(0.25,0.25))
p2 <- rbind(c(0.30,0.20),c(0.20,0.30))
p3 <- rbind(c(0.40,0.10),c(0.20,0.30))
p4 <- rbind(c(0.35,0.15),c(0.15,0.35))
p<-list(p1=p1,p2=p2,p3=p3,p4=p4)

CMH.Equality(0.05,0.2,p,4)
## [1] 85.46558

该研究每组需要85例。

类别转换检验(Categorical Shift Test)

临床试验中,研究试验先后二分类的数据的变化情况,通常采用McNemar检验和Stuart-Maxwell检验。

McNemar检验

对于下表,McNemar检验所需的样本两计算公式\[n=\frac{[z_{\alpha /2}(\varphi +1)+z_{\beta }\sqrt{(\varphi+1)^{2}-(\varphi-1)^{2}\pi_{Discordant}}]^{2}}{(\varphi -1)^{2}\pi _{Discordant}}\],\(\varphi =p_{01}/p_{10}\),\(\pi_{Discordant}=p_{01}+p_{10}\)\(p_{01}=P(x_{i1=0,x_{i2}=1})\),\(p_{10}=P(x_{i1}=1,x_{i2}=1)\)

治疗前 治疗后阳性 治疗后阴性 合计
阳性 \(n_{00}\) \(n_{01}\) \(n_{0.}\)
阴性 \(n_{10}\) \(n_{11}\) \(n_{1.}\)
合计 \(n_{.0}\) \(n_{01}\) \(n_{..}\)

例 某降血糖药物在餐前和餐后分别擦亮血糖值,根据临床预试验结果,治疗后有50%(\(p_{10}=0.5\))低血糖患者转为正常,而20%(\(p_{01}=0.2\))正常血糖转为低血糖,在\(\alpha=0.05,\beta=0.2\)时,双侧差异性检验,需要多少样本量?

(McNemar.Test(0.05, 0.2, c(0.2/0.5), c(0.5+0.2)))
## [1] 58.63224

该研究至少需要59患者。

Stuart-Maxwell检验

McNemar检验适合于二分类变量前后的比较,对于多分类变量,需要使用Stuart-Maxwell检验。其样本量计算公式如下:\[n=\delta _{\alpha ,\beta }\begin{bmatrix} \sum_{i<j}\frac{(p_{ij}-p_{ji})^2}{p_{ij}+p_{ji}} \end{bmatrix}^{-1}\],\(p_{ij}=P(x_{k1}=i,x_{k2}=j)\)\(\delta =\underset{n \to \infty}{lim}n\sum _{i<j}\frac{(p_{ij}-p_{ji})^2}{p_{ij}+p_{ji}}\),\[F_{r(r-1)/2}(\chi _{\alpha ,r(r-1)/2}|\delta )=\beta \]

治疗前 治疗后1 治疗后2 治疗后r
1 \(n_{11}\) \(n_{12}\) \(n_{1r}\)
2 \(n_{21}\) \(n_{22}\) \(n_{22}\)
r \(n_{r1}\) \(n_{r2}\) \(n_{rr}\)
合计 \(n_{.1}\) \(n_{.2}\) \(n_{.r}\)

例 一个小规模的探索性临床试验研究了某药物对单核细胞数量(按照比正常范围高、在正常范围和低于正常范围)的影响,结果如下

治疗前 治疗后低 治疗后正常 治疗后高
3 4 4
正常 2 2 3
1 2 3

可以看出,该药有一定的升高单核细胞数量的作用。为证实这一趋势的存在,研究着设计一个临床试验,在\(\alpha=0.05,\beta=0.2\)时,需要多少样本量?

Stuart.Maxwell.Test <- function(alpha,beta, p.ij, p.ji, r){
  b = 0
  noncen = 0
  
  for (i in 1:2000) {
    b[i + 1] <- pchisq(qchisq(alpha, df = r*(r - 1)/2, ncp = 0, 
                              lower.tail = FALSE), df = r*(r - 1)/2, ncp = i/100)
    noncen = rbind(noncen, c(i, b[i], b[i + 1]))
  }
  
  delta = noncen[which(noncen[, 2] > beta & noncen[, 3] < beta)]/100
  
  temp <-array(0,c(r,r)) 
  for (j in 1:r) {
    for (i in 1:j) {
      temp[i,j] <- (p.ij[i, j] - p.ji[j, i])^2/(p.ij[i, j] + p.ji[j, i])
    }
  }
  n <- delta*sum(temp)^-1
  n
}


alpha <- 0.05
beta <- 0.2
p.ij <- rbind(c(3, 4, 4), c(2, 3, 3), c(1, 2, 3))/25
p.ji <- rbind(c(3, 4, 4), c(2, 3, 3), c(1, 2, 3))/25
r <- 3

Stuart.Maxwell.Test(alpha,beta, p.ij, p.ji, r)
## [1] 102.2812

该研究至少需要102例。TrialSize包中Stuart.Maxwell.Test()方法对自由度计算有误。

残留效应检验(Carry-Over Effect Test)

残留效应是由于上一阶段的处理由于效应除去时间不足或其他原因干扰了下一阶段的处理效果,产生残留效应主要是由于第一阶段导致耐药性而产生的撤退效应、心理效应和患者身体状况因用药而改变所导致的遗留效应。在一些时候,研究者需要知道药物残留效应。其样本量估计公式如下:\[n=\frac{(z_{\alpha /2}+z_{\beta })^{2}(\sigma _{1}^{2}+\sigma _{2}^{2})}{\gamma ^{2}}\] \(\sigma _{1}\)为AB顺序的标准差,\(\sigma _{2}\)为BA顺序的标准差,\(\gamma\)为AB和BA顺序残留效应的差值。

例 根据预试验得到A、B两种药物交叉设计的参数,\(\gamma\)为0.89,\(\sigma_{1}\)为2.3,\(\sigma_{2}\)为2.4,为证实这一残留效应在,研究着设计一个临床试验,在\(\alpha=0.05,\beta=0.2\)时,需要多少样本量?

(Carry.Over(0.05,0.2,2.3^2,2.4^2,0.89))
## [1] 109.4939

该研究至少需要109例。

时间事件(生存分析)的样本量计算(Time-to-Event)

临床实验中,某些试验的结果并不是均数和有效率或治愈率,而是某种医学事件的发生时间,如果某项治疗能够阻止或延缓这些事件的发生,便认为治疗是有效。从观察到事件发生的时间称为事件发生时间(time-to-event),如果研究的是终点是死亡,那么事件发生时间成为生存时间 (survial time)。除了生存结局作为判定标准以外,只要能让病人存活时间延长,这种治疗也应当是被认为有效的。基本概念有:事件(Event)指研究中规定的生存研究的终点,在研究开始之前就已经制定好。根据研究性质的不同,事件可以是患者的死亡、疾病的复发、仪器的故障等。生存时间(Survival time)指从某一起点到事件发生所经过的时间。生存是一个广义的概念,不仅仅指医学中的存活,也可以是肿瘤手术到复发和接触毒物到毒性反应等。删失(Sensoring)指由于所关心的事件没有被观测到或者无法观测到,以至于生存时间无法记录的情况。常由两种情况导致:(1)失访;(2)在研究终止时,所关心的事件还未发生。生存概率(survival probability):表示某单位时段开始时存活的个体到该时段结束时仍存活的可能性大小。生存率(survival rate):指研究对象经历个时段后仍存活的概率,即生存时间大于等于的概率,用\(P(T \geqslant t)\)表示。生存函数(Survival distribution function)又叫累积生存率,表达式为\(S(t)=P(T>t)\),其中T为生存时间,该函数的意义是生存时间大于时间点t的概率。t=0时S(t)=1,随着t的增加S(t)递减(严格的说是不增),1-S(t)为累积分布函数,表示生存时间T不超过t的概率,其近似等于生存时间长于t的患者数/患者总数,生存函数在某时点的函数值就是生存率。死亡概率函数:简称为死亡概率,常用F(t)表示。代表一个观察对象从开始观察到时间t 为止的死亡概率,它与生存函数的关系为F(t)=1-S(t)。风险率函数(hazard function)指t时刻尚存活的研究对象死于t时刻后一瞬间的概率,为条件概率,用\(h(t)=\underset{\Delta \rightarrow 0}{lim}\frac{n(t)-n(t+\Delta t)}{n(t)\Delta t}\)表示,T为观察对象的生存时间,n(t)为t时刻的生存人数,\(n(t+\Delta t)\)\(t+\Delta t\)时刻的生存人数,它与生存函数、死亡密度函数的关系为h (t)= f (t) / S(t)。

基于指数模型的生存分析(Exponential Model)

生存时间是指从某个起始事件开始到某个终点事件的发生(出现反应)所经历的时间。一般不服从正态分布,有时近似服从指数分布、Weibull分布、Gompertz分布等,多数情况下往往不服从任何规则的分布类型。

显著性检验

在假定服从指数分布的情况下,检验两组终点指标(生存率)的差异有无显著性。显著性检验样本量计算公式为:\[n_{2}=\frac{(z_{\alpha /2}+z_{\beta })^{2}}{(\lambda _{1}-\lambda _{2})^{2}} \begin{bmatrix} \frac{\sigma ^{2}(\lambda _{1})}{k}+\sigma ^{2}(\lambda _{2}) \end{bmatrix} \] 其中\(k=\frac{n_{1}}{n_{2}}\)\[\sigma ^{2}(\lambda _{i})=\gamma _{i}^{2}\begin{bmatrix} 1+\frac{\lambda e^{-\lambda _{i} T}(1-e^{(\lambda _{i}-\gamma) T_{0}})}{(\lambda _{i}-\gamma)(1-e^{-\lambda T_{0}})} \end{bmatrix}^{-1}\] \(n_{1}\)为第一组样本量,\(n_{2}\)为第二组样本量,\(k\)为第一组样本量和第二组样本量的比值,\(\lambda_{1}\)为第一组风险率,\(\lambda_{2}\)为第二组风险率, \(\sigma\)为标准差,\(T\)预期临床试验所用时间,即临床试验自启动至结束所用时间,可以月或年为单位,\(T_{0}\)预期受试者全部入组所用时间(与T保持一致即可)。

例 假设研究两种移植方法对恶性淋巴瘤转化成白血病时间的影响。其中一组用同种异体移植,另一组用大剂量化疗后的自身骨髓移植。观察时间持续3年(\(T=3,T_{0}=1\))。假设两组风险率分别为1(\(\lambda_{1}\))和2(\(\lambda_{2}\))。在\(\alpha=0.05,\beta=0.2\)时,显著性检验,需要多少样本量?

TwoSampleSurvival.Equality(0.05,0.2,1,2,1,3,1,0.00001)
## [1] 1.093551
## [1] 4.031927
## [1] 40.22926

每组至少需要40例。

非劣效/优效性检验

在假定服从指数分布的情况下,检验两组终点(生存率)的差异是否非劣于/优于设定的界值。非劣效/优效性检验样本量计算公式为:\[n_{2}=\frac{(z_{\alpha}+z_{\beta })^{2}}{(\epsilon -\delta )^{2}} \begin{bmatrix} \frac{\sigma ^{2}(\lambda _{1})}{k}+\sigma ^{2}(\lambda _{2}) \end{bmatrix} \] 其中\(k=\frac{n_{1}}{n_{2}}\)\[\sigma ^{2}(\lambda _{i})=\gamma _{i}^{2}\begin{bmatrix} 1+\frac{\lambda e^{-\lambda _{i} T}(1-e^{(\lambda _{i}-\gamma) T_{0}})}{(\lambda _{i}-\gamma)(1-e^{-\lambda T_{0}})} \end{bmatrix}^{-1}\] \(n_{1}\)为第一组样本量,\(n_{2}\)为第二组样本量,\(k\)为第一组样本量和第二组样本量的比值,\(\lambda_{1}\)为第一组风险率,\(\lambda_{2}\)为第二组风险率, \(\sigma\)为标准差,\(T\)预期临床试验所用时间,即临床试验自启动至结束所用时间,可以月或年为单位,\(T_{0}\)预期受试者全部入组所用时间(与T保持一致即可),\(\epsilon\) 为第一组和第二组风险率之差。

例 假设研究两种移植方法对恶性淋巴瘤转化成白血病时间的影响。其中一组用同种异体移植,另一组用大剂量化疗后的自身骨髓移植。观察时间持续3年(\(T=3,T_{0}=1\))。假设两组风险率分别为1(\(\lambda_{1}\))和2(\(\lambda_{2}\))。在\(\alpha=0.05,\beta=0.2\)时,优效性检验,界值0.2,需要多少样本量?

TwoSampleSurvival.NIS(0.05,0.2,1,2,1,3,1,0.00001,0.2)
## [1] 1.093551
## [1] 4.031927
## [1] 49.51337

每组至少需要50例。

等效性检验

在假定服从指数分布的情况下,检验两组终点(生存率)的等效性,等效性检验检验样本量计算公式为:\[n_{2}=\frac{(z_{\alpha}+z_{\beta/2 })^{2}}{(\delta-|\epsilon| )^{2}} \begin{bmatrix} \frac{\sigma ^{2}(\lambda _{1})}{k}+\sigma ^{2}(\lambda _{2}) \end{bmatrix} \] 其中\(k=\frac{n_{1}}{n_{2}}\)\[\sigma ^{2}(\lambda _{i})=\gamma _{i}^{2}\begin{bmatrix} 1+\frac{\lambda e^{-\lambda _{i} T}(1-e^{(\lambda _{i}-\gamma) T_{0}})}{(\lambda _{i}-\gamma)(1-e^{-\lambda T_{0}})} \end{bmatrix}^{-1}\] \(n_{1}\)为第一组样本量,\(n_{2}\)为第二组样本量,\(k\)为第一组样本量和第二组样本量的比值,\(\lambda_{1}\)为第一组风险率,\(\lambda_{2}\)为第二组风险率, \(\sigma\)为标准差,\(T\)预期临床试验所用时间,即临床试验自启动至结束所用时间,可以月或年为单位,\(T_{0}\)预期受试者全部入组所用时间(与T保持一致即可)。

例 假设研究两种移植方法对恶性淋巴瘤转化成白血病时间的影响。其中一组用同种异体移植,另一组用大剂量化疗后的自身骨髓移植。观察时间持续3年(\(T=3,T_{0}=1\))。假设两组风险率分别为1(\(\lambda_{1}\))和2(\(\lambda_{2}\))。在\(\alpha=0.05,\beta=0.2\)时,等效性检验,界值0.5,需要多少样本量?

TwoSampleSurvival.Equivalence(0.05,0.2,1,2,1,3,1,0.00001,0.5)
## [1] 1.093551
## [1] 4.031927
## [1] 175.5752

每组至少需要176例

基于Cox比例风险模型的生存分析

不直接考察生存函数与协变量(影响因素)的关系,而是用风险函数作为因变量。\[h(t)=h_{0}(t)exp(\beta _{1}X_{1}+\beta _{2}X_{2}+...+\beta _{m}X_{m})\] 将风险函数表达为基准风险率函数和相应协变量函数的乘积。Cox模型的参数估计不依赖于基准风险率函数的分布类型,是一种半参数的模型,但必须满足比例风险假定(PH假定),任何两个个体的风险函数及基准风险函数之比,即风险比(HR)保持一个恒定的比例,与时间t无关。模型中协变量的效应不随时间改变而改变。协变量是否满足PH假定,最简单的方法是观察按该变量分组的生存曲线,若生存曲线交叉,提示不满足PH假定。

显著性检验

两组平行对照设计,基于Cox比例风险模型进行生存分析,检验两组终点的差异有无显著性,其样本量计算公式:\[n=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}}{log^{2}(b)p_{1}p_{2}d}\] \(p_{1},p_{2}\)分别代表第一组和第二组的风险率,b为两组的风险比,d代表观察到规定事件的比率。

例 一临床试验用来比较一个新的治疗方法和传统治疗方法对延缓烧伤患者局部感染的作用。预试验中,传统方法和新方法的风险比为2(b=log(2)),80%的患者将被观察到局部感染(d=0.8),在\(\alpha=0.05,\beta=0.2,p_{1}=p_{2}=0.5\)时,两组1:1平行对照,显著性检验,需要多少样本量?

Cox.Equality <- function (alpha, beta, loghr, p1, p2, d) 
{
  n = (qnorm(1-alpha/2) + qnorm(1 - beta))^2/(log(loghr)^2 * p1 * 
                                                p2 * d)
  n
}

Cox.Equality(0.05,0.2,2,0.5,0.5,0.8)
## [1] 81.68207

每组至少需要82例。Sample Size Calculations in Clinical Research书中对样本量公式有误(\(z_{1-\alpha /2,z_{1-\beta }}\)在书中错写为\(z_{\alpha /2},z_{\beta }\)),导致TrialSize包中Cox.Equality()函数计算错误。

非劣效/优效性检验

两组平行对照设计,基于Cox风险比例模型进行生存分析,检验两组终点(生存率)的差异是否非劣于/优于设定的界值。\[n=\frac{(z_{1-\alpha}+z_{1-\beta })^{2}}{log^{2}(b-\delta )p_{1}p_{2}d}\] \(p_{1},p_{2}\)分别代表第一组和第二组的风险率,b为两组的风险比,d代表观察到规定事件的比率,\(\delta\)代表具有临床意义的界值。

例 一临床试验用来比较一个新的治疗方法和传统治疗方法对延缓烧伤患者局部感染的作用。预试验中,传统方法和新方法的风险比为2(b=log(2)),80%的患者将被观察到局部感染(d=0.8),在\(\alpha=0.05,\beta=0.2,p_{1}=p_{2}=0.5\)时,两组1:1平行对照,优效性检验,界值为0.5,需要多少样本量?

Cox.NIS <- function (alpha, beta, loghr, p1, p2, d, margin) 
{
  n = (qnorm(1-alpha) + qnorm(1 - beta))^2/((log(loghr) - margin)^2 * p1 * p2 * d)
  n
}

Cox.NIS(0.05,0.2,2,0.5,0.5,0.8,0.5)
## [1] 828.6314

每组至少需要829例。Sample Size Calculations in Clinical Research书中对样本量公式有误(\(z_{1-\alpha ,z_{1-\beta }}\)在书中错写为\(z_{\alpha },z_{\beta }\)

等效性检验

两组平行对照设计,基于Cox风险比例模型进行生存分析,检验两组终点(生存率)的等效性。\[n=\frac{(z_{1-\alpha}+z_{1-\beta/2 })^{2}}{log^{2}(\delta-|b| )p_{1}p_{2}d}\] \(p_{1},p_{2}\)分别代表第一组和第二组的风险率,b为两组的风险比,d代表观察到规定事件的比率,\(\delta\)代表具有临床意义的界值。

例 一临床试验用来比较一个新的治疗方法和传统治疗方法对延缓烧伤患者局部感染的作用。预试验中,传统方法和新方法的风险比为2(b=log(2)),80%的患者将被观察到局部感染(d=0.8),在\(\alpha=0.05,\beta=0.2,p_{1}=p_{2}=0.5\)时,两组1:1平行对照,等效性检验,需要多少样本量?

Cox.Equivalence <- function (alpha, beta, loghr, p1, p2, d, margin) 
{
  n = (qnorm(1-alpha) + qnorm(1 - beta/2))^2/
    ((margin - abs(log(loghr)))^2 * p1 * p2 * d)
  n
}

Cox.Equivalence(0.05,0.2,2,0.5,0.5,0.8,0.5)
## [1] 1147.789

每组至少需要1148例。Sample Size Calculations in Clinical Research书中对样本量公式有误(\(z_{1-\alpha ,z_{1-\beta /2}}\)在书中错写为\(z_{\alpha },z_{\beta/2 }\)

基于Logrank检验的生存分析

也称为时序检验,是在无效假设成立的前提下,根据两种处理不同生存时间的期初观察人数和理论死亡概率计算出的理论死亡数(期望死亡数)应该与实际死亡数相差不大;如果相差较大,则无效假设不成立,可以认为两条生存曲线间的差异有统计学意义。非劣效/优效性检验和等效性检验样本量估计困难,显著性其样本量估计公式如下\(n=\frac{2d}{p_{1}+p_{2}}\),其中\(d=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(\sum_{i=1}^{N}w_{i}^{2}\rho_{i}\eta _{i})}{(\sum_{i=1}^{N}w_{i}\rho _{i}\gamma _{i})^{2}}\)\(w_{i}\)分别为1,\(n_{i}\),\(\sqrt{n_{i}}\)时,对应Log-rank、Wilcoxon和Tarone-Ware检验。

例 一为期2年的某心血管药物的临床试验(Lakatos 1998),假设试验组年风险率为1(年事件发生率为\(1-e^{-1}\)),对照组年风险率为0.5(年事件发生率为\(1-e^{-0.5}\)),年失访率为3%,年不依从率为4%,对照组有5%患者选择了其他与试验组类似的治疗(drop-in)。试验组的总事件发生率83.7%,对照组总事件发生率62.7%。

Logrank.test <- function(alpha, beta, k, year, loss, herate, hcrate, noncompliance, 
    dropin, pe, pc) {
    eeventrate <- 1 - exp(-herate)
    ceventrate <- 1 - exp(-hcrate)
    e <- matrix(c(0, 0, 1, 0))
    c <- matrix(c(0, 0, 0, 1))
    transition <- function(x, k) {
        1 - (1 - x)^(1/k)
    }
    
    T <- matrix(c(1, 0, 0, 0, 0, 1, 0, 0, transition(loss, k), transition(eeventrate, 
        k), 1 - transition(noncompliance, k) - transition(eeventrate, k) - 
        transition(loss, k), transition(noncompliance, k), transition(loss, 
        k), transition(ceventrate, k), transition(dropin, k), 1 - transition(loss, 
        k) - transition(ceventrate, k) - transition(dropin, k)), nrow = 4)
    
    
    for (i in 1:(k * year)) {
        tempe <- list(T %^% i %*% e)
        tempc <- list(T %^% i %*% c)
        if (i == 1) {
            E <- tempe
            C <- tempc
            phi <- 1
            eta <- phi/(1 + phi)^2
            theta <- herate/hcrate
            gamma <- phi * theta/(1 + phi * theta) - phi/(1 + phi)
            rho <- (E[[i]][2] + C[[i]][2])/(pe + pc)  ##ρ
        } else {
            E <- append(E, tempe)
            C <- append(C, tempc)
            phi <- append(phi, (E[[i - 1]][3] + E[[i - 1]][4])/(C[[i - 
                1]][3] + C[[i - 1]][4]))  ##φ
            eta <- append(eta, phi[i]/(1 + phi[i])^2)  ##η
            theta <- append(theta, log(1 - (E[[i]][2] - E[[i - 1]][2]))/log(1 - 
                (C[[i]][2] - C[[i - 1]][2])))  ##θ
            gamma <- append(gamma, phi[i] * theta[i]/(1 + phi[i] * theta[i]) - 
                phi[i]/(1 + phi[i]))
            rho <- append(rho, ((E[[i]][2] - E[[i - 1]][2]) + (C[[i]][2] - 
                C[[i - 1]][2]))/(pe + pc))  ##ρ
        }
    }
    t <- seq(from = 1/k, to = year, by = 1/k)
    numerator <- 0
    denominator <- 0
    for (i in 1:(k * year)) {
        numerator = numerator + rho[i] * eta[i]
        denominator = denominator + rho[i] * gamma[i]
    }
    d <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * numerator/denominator^2
    n <- 2 * d/(pe + pc)
    n
}

Logrank.test(0.05, 0.2, 10, 2, 0.03, 1, 0.5, 0.04, 0.05, 0.627, 0.837)
## [1] 453.9708

两组共需要454例。Sample Size Calculations in Clinical Research书中对\(\theta\)\(\gamma\)的计算有误,矩阵T也有两个数字顺序反了!

成组序贯设计(Group Sequential Methods)

传统的随机对照临床试验设计,要求试验开始前确定样本量, 并且只有当所有的受试者均完成入组之后才能进行数据的统计分析。序贯设计是一种节省样本的设计方法,通常事先不固定样本含量,而是按照受试者进入试验的次序,做一个(或者一个阶段)试验便进行一次分析,一旦发现达到预期结果,立即停止试验。序贯试验比较适合临床研究,因为临床研究的患者都是陆续到医院,可以一次纳入研究进行分析。这种逐个纳入受试对象,纳入一个便分析一个,下一个是否试验需要看上一个结果,花费时间较长,不适用急性传染病的研究,也不适用与显效迟缓的慢性病研究。成组序贯设计允许在试验过程中对已累积数据进行期中分析,评价试验药物的有效性和安全性,若已累积数据有足够证据说明试验药物有效或无效则可提前结束试验。与传统的试验设计方法相比,成组序贯设计具有更强的灵活性;由于期中分析为提前结束试验提供了可能性,成组序贯试验往往可以节约试验样本量,缩短试验周期,节约资金,而且更符合伦理学的要求。此外,从试验管理的角度来讲,成组序贯设计对数据的期中评价也可使研究者和监察员尽早发现试验中存在的问题,有利于改善试验质量。

实际中采用较多成组序贯试验是分阶段试验,分阶段分析。要求将整个试验划分成k个连续的阶段,每个阶段内都有2n个受试者加入试验,并被随机分配到实验组和对照组,每个处理组均为n个。当第i(\(i \leqslant k\))个阶段试验结束后,把1到i阶段实验结果累计进行统计分析,如果拒绝\(H_{0}\),即可结束试验,否则继续下一阶段试验。如果到最后第k个阶段结束后,仍不能拒绝\(H_{0}\),则可接受\(H_{0}\)。成组序贯试验适用于多个地区同时进行的多中心临床试验,每隔一定时间将累积的资料进行统计分析,如果效果显著可以提前结束试验,能有效节省样本量和成本,但需要在方案中事先确定期中分析的次数和时间,不可在研究过程中修改,而且在双盲试验中应分批揭盲,以免影响后期的研究。

成组序贯试验中需要多次重复的显著性检验,这种检验将增加\(I\)类错误的概率,使得总显著水平上升。为使得总显著水平等于期望的\(\alpha\),需要将每个阶段的显著行水平进行调整,调整后的显著性水平成为名义性显著水平(norminal significance level),用\(\ {\alpha}'\) 表示。各种方法的界值在R中可通过GroupSeq包中的groupseq(mode=“c”)或者groupseq(mode=“g”)方法获得。

成组序贯设计中有两种概念的时间点划分方式, 一种是日历时间(Calendar time),另一种是信息时间(Information time)。日历时间是以试验持续时间的进度来决定何时进行期中分析; 信息时间的含义是指在某一观察时点观察到的样本量占计划总样本量的百分比, 以可观察到的信息量来决定何时进行期中分析, 例如三阶段成组序贯试验预计死亡600例, 可在观察到死亡人数300例、450例和600例, 即信息时间为0.5、0.75和1时进行统计描述。对于生存资料, 因为生存时间是生存分析的主要指标, 故应该使用信息时间来划分时间点, 具体计算是用某时观察到的死亡数与期望总死亡数的比值\(t_{k}=\kappa /K\)来估计。

Pocock’s Test

该法对每一阶段均采用相同的临界值和名义显著水平,下表列出了不同阶段的统计量,如5个阶段的显著水平为0.05的成组序贯设计,每一阶段均采用临界值2.413,每一阶段名义显著水平小于0.0158218,才能拒绝\(H_{0}\)

data <- read.csv("Cp.csv",header = T)
panderOptions('digits', 4)
pander(data)
K alpha0.01 alpha0.05 alpha0.10
1 2.576 1.96 1.645
2 2.772 2.178 1.875
3 2.873 2.289 1.992
4 2.939 2.361 2.067
5 2.986 2.413 2.122
6 3.023 2.453 2.164
7 3.053 2.485 2.197
8 3.078 2.512 2.225
9 3.099 2.535 2.249
10 3.117 2.555 2.27
11 3.133 2.572 2.288
12 3.147 2.588 2.304
15 3.182 2.626 2.344
20 3.225 2.672 2.392

K期Pocock 检验的样本量计算,首先根据没有期中分析的设计计算固定样本量,然后乘以\(R_{p}(K,\alpha ,\beta )\)。固定样本量计算公式如下\[n_{fixed}=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(\sigma_{1}^{2}+\sigma_{2}^{2})}{(\mu _{1}-\mu _{2})^{2}}\],\(R_{p}\)可查询下表:

data <- read.csv("Rp.csv",header = T)
panderOptions('digits', 4)
pandoc.table(data, use.hyphening = TRUE, split.cells =8,justify = 'center')
## 
## ---------------------------------------------------------------------------------
##  k    alpha0.-     alpha0.-     alpha0.-     alpha0.-     alpha0.-     alpha0.-  
##      01beta0.20   05beta0.20   10beta0.20   01beta0.10   05beta0.10   10beta0.10 
## --- ------------ ------------ ------------ ------------ ------------ ------------
##  1       1            1            1            1            1            1      
## 
##  2     1.092         1.11        1.121        1.084         1.1          1.11    
## 
##  3     1.137        1.166        1.184        1.125        1.151        1.166    
## 
##  4     1.166        1.202        1.224        1.152        1.183        1.202    
## 
##  5     1.187        1.229        1.254         1.17        1.207        1.228    
## 
##  6     1.203        1.249        1.277        1.185        1.225        1.249    
## 
##  7     1.216        1.265        1.296        1.197        1.239        1.266    
## 
##  8     1.226        1.279        1.311        1.206        1.252         1.28    
## 
##  9     1.236        1.291        1.325        1.215        1.262        1.292    
## 
## 10     1.243        1.301        1.337        1.222        1.271        1.302    
## 
## 11      1.25         1.31        1.348        1.228        1.279        1.312    
## 
## 12     1.257        1.318        1.357        1.234        1.287         1.32    
## 
## 15     1.272        1.338        1.381        1.248        1.305        1.341    
## 
## 20     1.291        1.363        1.411        1.264        1.327        1.367    
## ---------------------------------------------------------------------------------

例 一5期的比较某药及安慰剂疗效临床成组序贯试验,根据预试验总体的标准差为2(\(\sigma ^{2}=\sigma_{1} ^{2}=\sigma_{2} ^{2}=4\)),\(\mu_{T} - \mu_{P} = 1\),在\(\alpha=0.05,\beta=0.10\)时,Pocock设计,每期需要多少病例?

Pocock.Test <- function(alpha, beta, sigma1, sigma2, mu, k) {
    nfixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (sigma1^2 + sigma2^2)/(mu)^2
    
    data <- read.csv("Rp.csv", header = T)
    col <- paste(paste("alpha", alpha, sep = ""), paste("beta", format(beta, 
        nsmall = 2), sep = ""), sep = "")
    rp <- as.matrix(data)[k, col]
    nmax <- rp * nfixed
    n <- nmax/k
    n
}

Pocock.Test(0.05, 0.1, 2, 2, 1, 5)
## alpha0.05beta0.10 
##          20.29194

每期至少需要20例。

O’Brien and Fleming 检验

该法对不同阶段采用不同的临界值,早期阶段临界值设定较高,越到后期临界值越低。该法早期阶段较为保守,除非P值特别小,否则早期通常难以拒绝\(H_{0}\),但最后一个阶段P值接近总的检验水平。下表列出了每阶段最后一阶段的临界值,比如5阶段最后一阶段的临界值值为2.040,前4阶段可采用差表,其值分别为4.562,3.226,2.634和2.281,5个阶段对应的名义显著水平可用2*(1-pnorm())方法求出。

data <- read.csv("Cb.csv",header = T)
panderOptions('digits', 4)
pandoc.table(data, use.hyphening = TRUE, split.cells =8,justify = 'center')
## 
## ---------------------------------
##  K     al-       al-       al-   
##      pha0.01   pha0.05   pha0.10 
## --- --------- --------- ---------
##  1    2.576     1.96      1.645  
## 
##  2    2.58      1.977     1.678  
## 
##  3    2.595     2.004     1.71   
## 
##  4    2.609     2.024     1.733  
## 
##  5    2.621     2.04      1.751  
## 
##  6    2.631     2.053     1.765  
## 
##  7    2.64      2.063     1.776  
## 
##  8    2.648     2.072     1.786  
## 
##  9    2.654     2.08      1.794  
## 
## 10    1.66      2.087     1.801  
## 
## 11    2.665     2.092     1.807  
## 
## 12    2.67      2.098     1.813  
## 
## 15    2.681     2.11      1.826  
## 
## 20    2.695     2.126     1.842  
## ---------------------------------

K期O’Brien and Fleming’s 检验的样本量计算,首先根据没有期中分析的设计计算固定样本量,然后乘以\(R_{b}(K,\alpha ,\beta )\)。固定样本量计算公式如下\[n_{fixed}=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(\sigma_{1}^{2}+\sigma_{2}^{2})}{(\mu _{1}-\mu _{2})^{2}}\],\(R_{b}\)可查询下表:

data <- read.csv("Rb.csv",header = T)
panderOptions('digits', 4)
pandoc.table(data, use.hyphening = TRUE, split.cells =8,justify = 'center')
## 
## ---------------------------------------------------------------------------------
##  k    alpha0.-     alpha0.-     alpha0.-     alpha0.-     alpha0.-     alpha0.-  
##      01beta0.20   05beta0.20   10beta0.20   01beta0.10   05beta0.10   10beta0.10 
## --- ------------ ------------ ------------ ------------ ------------ ------------
##  1       1            1            1            1            1            1      
## 
##  2     1.001        1.008        1.016        1.001        1.007        1.014    
## 
##  3     1.007        1.017        1.027        1.006        1.016        1.025    
## 
##  4     1.011        1.024        1.035         1.01        1.022        1.032    
## 
##  5     1.015        1.028         1.04        1.014        1.026        1.037    
## 
##  6     1.017        1.032        1.044        1.016         1.03        1.041    
## 
##  7     1.019        1.035        1.047        1.018        1.032        1.044    
## 
##  8     1.021        1.037        1.049         1.02        1.034        1.046    
## 
##  9     1.022        1.038        1.051        1.021        1.036        1.048    
## 
## 10     1.024         1.04        1.053        1.022        1.037        1.049    
## 
## 11     1.025        1.041        1.054        1.023        1.039        1.051    
## 
## 12     1.026        1.042        1.055        1.024         1.04        1.052    
## 
## 15     1.028        1.045        1.058        1.026        1.042        1.054    
## 
## 20      1.03        1.047        1.061        1.029        1.045        1.057    
## ---------------------------------------------------------------------------------

例 一5期的比较某药及安慰剂疗效临床成组序贯试验,根据预试验总体的标准差为2(\(\sigma ^{2}=\sigma_{1} ^{2}=\sigma_{2} ^{2}=4\)),\(\mu_{T} - \mu_{P} = 1\),在\(\alpha=0.05,\beta=0.10\)时,O’Brien and Fleming’s设计,每期需要多少病例?

OBF.Test <- function(alpha, beta, sigma1, sigma2, mu, k) {
    nfixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (sigma1^2 + sigma2^2)/(mu)^2
    
    data <- read.csv("Rb.csv", header = T)
    col <- paste(paste("alpha", alpha, sep = ""), paste("beta", format(beta, 
        nsmall = 2), sep = ""), sep = "")
    rb <- as.matrix(data)[k, col]
    nmax <- rb * nfixed
    n <- nmax/k
    n
}

OBF.Test(0.05, 0.1, 2, 2, 1, 5)
## alpha0.05beta0.10 
##          17.24899

每期至少需要17例。

Wang and Tsiatis 检验

该法是对Pocock和O’Brien and Fleming’s法的推广,其界值形状主要取决\(\rho\)\(\tau\)参数,当\(\rho=0,\tau=0\)时,就是Pocock法,当\(\rho=0.5,\tau=0\)时,就是O’Brien and Fleming’s法。下表列出了每阶段的临界值

data <- read.csv("Cwt.csv",header = T)
panderOptions('digits', 4)
pandoc.table(data, use.hyphening = TRUE, split.cells =8,justify = 'center')
## 
## ---------------------------------------
##  k   delta0.10   delta0.25   delta0.40 
## --- ----------- ----------- -----------
##  1     1.96        1.96        1.96    
## 
##  2     1.994       2.038       2.111   
## 
##  3     2.026       2.083       2.186   
## 
##  4     2.05        2.113       2.233   
## 
##  5     2.068       2.136       2.267   
## 
##  6     2.083       2.154       2.292   
## 
##  7     2.094       2.168       2.313   
## 
##  8     2.104       2.18        2.329   
## 
##  9     2.113       2.19        2.343   
## 
## 10     2.12        2.199       2.355   
## 
## 11     2.126       2.206       2.366   
## 
## 12     2.132       2.213       2.375   
## 
## 15     2.146       2.229       2.397   
## 
## 20     2.162       2.248       2.423   
## ---------------------------------------

K期Wang and Tsiatis 检验的样本量计算,首先根据没有期中分析的设计计算固定样本量,然后乘以\(R_{wt}(K,\alpha ,\beta,\Delta)\)。固定样本量计算公式如下\[n_{fixed}=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(\sigma_{1}^{2}+\sigma_{2}^{2})}{(\mu _{1}-\mu _{2})^{2}}\],\(R_{wt}\)可查询下表:

data <- read.csv("Rwt.csv", header = T)
panderOptions("digits", 4)
pandoc.table(data, use.hyphening = TRUE, split.cells = 8, justify = "center")
## 
## ---------------------------------------------------------------------------------
##  k    delta0.-     delta0.-     delta0.-     delta0.-     delta0.-     delta0.-  
##      01beta0.20   05beta0.20   10beta0.20   01beta0.10   05beta0.10   10beta0.10 
## --- ------------ ------------ ------------ ------------ ------------ ------------
##  1       1            1            1            1            1            1      
## 
##  2     1.016        1.038        1.075        1.014        1.034        1.068    
## 
##  3     1.027        1.054        1.108        1.025         1.05        1.099    
## 
##  4     1.035        1.065        1.128        1.032        1.059        1.117    
## 
##  5      1.04        1.072        1.142        1.037        1.066        1.129    
## 
##  6     1.044        1.077        1.152        1.041        1.071        1.138    
## 
##  7     1.047        1.081        1.159        1.044        1.075        1.145    
## 
##  8      1.05        1.084        1.165        1.046        1.078        1.151    
## 
##  9     1.052        1.087         1.17        1.048        1.081        1.155    
## 
## 10     1.054        1.089        1.175         1.05        1.083        1.159    
## 
## 11     1.055        1.091        1.178        1.051        1.085        1.163    
## 
## 12     1.056        1.093        1.181        1.053        1.086        1.166    
## 
## 15     1.059        1.097        1.189        1.055         1.09        1.172    
## 
## 20     1.062        1.101        1.197        1.058        1.094         1.18    
## ---------------------------------------------------------------------------------

例 一5期的比较某药及安慰剂疗效临床成组序贯试验,根据预试验总体的标准差为2(\(\sigma ^{2}=\sigma_{1} ^{2}=\sigma_{2} ^{2}=4\)),\(\mu_{T} - \mu_{P} = 1\),在\(\alpha=0.05,\beta=0.10\)时,Wang and Tsiatis 设计,每期需要多少病例?

WT.Test <- function(alpha, beta, sigma1, sigma2, mu, k, delta) {
    nfixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (sigma1^2 + sigma2^2)/(mu)^2
    
    data <- read.csv("Rwt.csv", header = T)
    col <- paste(paste("delta", format(delta, nsmall = 2), sep = ""), paste("beta", 
        format(beta, nsmall = 2), sep = ""), sep = "")
    rwt <- as.matrix(data)[k, col]
    nmax <- rwt * nfixed
    n <- nmax/k
    n
}

WT.Test(0.05, 0.1, 2, 2, 1, 5, 0.05)
## delta0.05beta0.10 
##          17.92146

每期至少需要18例。

Inner Wedge 检验

上述三种成组序贯方法均可以在拒绝\(H_{0}\)接受\(H_{1}\)时停止试验,也就是说试验药如果有效时即可停止试验。Inner Wedge方法是一种接受\(H_{0}\)时,停止试验,即试验药无效时即可停止试验的一种方法。

K期Inner Wedge 检验的样本量计算,首先根据没有期中分析的设计计算固定样本量,然后乘以\(R_{w}(K,\alpha ,\beta,\Delta )\)。固定样本量计算公式如下\[n_{fixed}=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(\sigma_{1}^{2}+\sigma_{2}^{2})}{(\mu _{1}-\mu _{2})^{2}}\],\(R_{w}\)可查询下表:

data <- read.csv("Rw.csv",header = T)
panderOptions('digits', 4)
pander(data)
alpha beta delta K Cw1 Cw2 Rw
0.05 0.2 -0.5 1 1.96 0.842 1
0.05 0.2 -0.5 2 1.949 0.867 1.01
0.05 0.2 -0.5 3 1.933 0.901 1.023
0.05 0.2 -0.5 4 1.929 0.919 1.033
0.05 0.2 -0.5 5 1.927 0.932 1.041
0.05 0.2 -0.5 10 1.928 0.964 1.066
0.05 0.2 -0.5 15 1.931 0.979 1.078
0.05 0.2 -0.5 20 1.932 0.988 1.087
0.05 0.2 -0.25 1 1.96 0.842 1
0.05 0.2 -0.25 2 1.936 0.902 1.026
0.05 0.2 -0.25 3 1.932 0.925 1.04
0.05 0.2 -0.25 4 1.93 0.953 1.059
0.05 0.2 -0.25 5 1.934 0.958 1.066
0.05 0.2 -0.25 10 1.942 0.999 1.102
0.05 0.2 -0.25 15 1.948 1.017 1.12
0.05 0.2 -0.25 20 1.952 1.027 1.131
0.05 0.2 0 1 1.96 0.842 1
0.05 0.2 0 2 1.935 0.948 1.058
0.05 0.2 0 3 1.95 0.955 1.075
0.05 0.2 0 4 1.953 0.995 1.107
0.05 0.2 0 5 1.958 1.017 1.128
0.05 0.2 0 10 1.98 1.057 1.175
0.05 0.2 0 15 1.991 1.075 1.198
0.05 0.2 0 20 1.998 1.087 1.212
0.05 0.2 0.25 1 1.96 0.842 1
0.05 0.2 0.25 2 1.982 1 1.133
0.05 0.2 0.25 3 2.009 1.059 1.199
0.05 0.2 0.25 4 2.034 1.059 1.219
0.05 0.2 0.25 5 2.048 1.088 1.252
0.05 0.2 0.25 10 2.088 1.156 1.341
0.05 0.2 0.25 15 2.109 1.18 1.379
0.05 0.2 0.25 20 2.122 1.195 1.4
0.05 0.1 -0.5 1 1.96 1.282 1
0.05 0.1 -0.5 2 1.96 1.282 1
0.05 0.1 -0.5 3 1.952 1.305 1.01
0.05 0.1 -0.5 4 1.952 1.316 1.016
0.05 0.1 -0.5 5 1.952 1.326 1.023
0.05 0.1 -0.5 10 1.958 1.351 1.042
0.05 0.1 -0.5 15 1.963 1.363 1.053
0.05 0.1 -0.5 20 1.967 1.37 1.06
0.05 0.1 -0.25 1 1.96 1.282 1
0.05 0.1 -0.25 2 1.957 1.294 1.006
0.05 0.1 -0.25 3 1.954 1.325 1.023
0.05 0.1 -0.25 4 1.958 1.337 1.033
0.05 0.1 -0.25 5 1.96 1.351 1.043
0.05 0.1 -0.25 10 1.975 1.379 1.071
0.05 0.1 -0.25 15 1.982 1.394 1.085
0.05 0.1 -0.25 20 1.988 1.403 1.094
0.05 0.1 0 1 1.96 1.282 1
0.05 0.1 0 2 1.958 1.336 1.032
0.05 0.1 0 3 1.971 1.353 1.051
0.05 0.1 0 4 1.979 1.381 1.075
0.05 0.1 0 5 1.99 1.385 1.084
0.05 0.1 0 10 2.013 1.428 1.127
0.05 0.1 0 15 2.026 1.447 1.148
0.05 0.1 0 20 2.034 1.458 1.16
0.05 0.1 0.25 1 1.96 1.282 1
0.05 0.1 0.25 2 2.003 1.398 1.1
0.05 0.1 0.25 3 2.037 1.422 1.139
0.05 0.1 0.25 4 2.058 1.443 1.167
0.05 0.1 0.25 5 2.073 1.477 1.199
0.05 0.1 0.25 10 2.119 1.521 1.261
0.05 0.1 0.25 15 2.14 1.551 1.297
0.05 0.1 0.25 20 2.154 1.565 1.316

例 一5期的比较某药及安慰剂疗效临床成组序贯试验,根据预试验总体的标准差为1(\(\sigma ^{2}=\sigma_{1} ^{2}=\sigma_{2} ^{2}=1\)),\(\mu_{T} - \mu_{P} = 0.2\),\(\Delta =0.25\),在\(\alpha=0.05,\beta=0.20\)时,Inner Wedge设计,每期需要多少病例?

InnerWedge.Test <- function(alphap,betap,sigma1,sigma2,mu,kp,deltap){
  nfixed <- (qnorm(1-alphap/2) + qnorm(1 - betap))^2*(sigma1^2+sigma2^2)/(mu)^2
  data <- read.csv("Rw.csv",header = T)
  data%>>%
    subset(beta==betap)%>>%
    subset(alpha==alphap)%>>%
    subset(K==kp)%>>%
    subset(delta==deltap)%>>%
    subset(select=c(Rw))*nfixed/kp
}

InnerWedge.Test (0.05,0.20,1,1,0.2,5,0.25)
##          Rw
## 29 98.26797

每期至少需要98例。

率比较的样本量估计

基于率比较的样本量计算与均值比较的样本量计算基本过程类似,固定样本量计算公式略有不同,公式如下\[n_{fixed}=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(p _{1}(1-p _{1})+p _{2}(1-p _{2}))}{(p _{1}-p _{2})^{2}}\]

例 一5期的比较某药及安慰剂疗效临床成组序贯试验,根据预试验总体的试验药的有效率为60%,安慰剂的有效率为50%,在\(\alpha=0.05,\beta=0.20\)时,分别进行Pocock、O’Brien and Fleming’s和Wang and Tsitis(\(\Delta=0.1\))设计,每期各需要多少病例?

Pocock.Test.Binary <- function(alpha, beta, p1, p2, k) {
    nfixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (p1 * (1 - p1) + 
        p2 * (1 - p2))/(p1 - p2)^2
    data <- read.csv("Rp.csv", header = T)
    col <- paste(paste("alpha", alpha, sep = ""), paste("beta", format(beta, 
        nsmall = 2), sep = ""), sep = "")
    rp <- as.matrix(data)[k, col]
    nmax <- rp * nfixed
    n <- nmax/k
    n
}

Pocock.Test.Binary(0.05, 0.2, 0.6, 0.5, 5)
## alpha0.05beta0.20 
##          94.53348
OBF.Test.Binary <- function(alpha, beta, p1, p2, k) {
    nfixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (p1 * (1 - p1) + 
        p2 * (1 - p2))/(p1 - p2)^2
    data <- read.csv("Rb.csv", header = T)
    col <- paste(paste("alpha", alpha, sep = ""), paste("beta", format(beta, 
        nsmall = 2), sep = ""), sep = "")
    rb <- as.matrix(data)[k, col]
    nmax <- rb * nfixed
    n <- nmax/k
    n
}

OBF.Test.Binary(0.05, 0.2, 0.6, 0.5, 5)
## alpha0.05beta0.20 
##          79.07275
WT.Test.Binary <- function(alpha, beta, p1, p2, k, delta) {
    nfixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (p1 * (1 - p1) + 
        p2 * (1 - p2))/(p1 - p2)^2
    data <- read.csv("Rwt.csv", header = T)
    col <- paste(paste("delta", format(delta, nsmall = 2), sep = ""), paste("beta", 
        format(beta, nsmall = 2), sep = ""), sep = "")
    rwt <- as.matrix(data)[k, col]
    nmax <- rwt * nfixed
    n <- nmax/k
    n
}

WT.Test.Binary(0.05, 0.2, 0.6, 0.5, 5, 0.1)
## delta0.10beta0.20 
##          87.84152

Pocock、O’Brien and Fleming’s和Wang and Tsitis(\(\Delta=0.1\))设计,每期各需要各需要95例、79例和88例

时间事件数据(生存分析)

对于生存数据资料,由于其资料的特殊性,如数据参数分布状态不明、截尾数据的存在、脱落病例处理的特殊性及受试者入组情况的影响等,该类型试验的样本量估计一直是临床试验中样本量估计问题中的难点。以时间事件为试验结果的成组序贯设计,为简单起见,仅Cox比例风险模型为例。固定样本量计算公式,\[I_{fixed}=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}}{\theta ^{2}}\],最大样本计算公式\[I_{max}=I_{fixed}\times R_{B}(K,\alpha ,\beta )\],样本量为\[n_{d}=\frac{I_{max}}{I_{k}}\]

例 一5期的比较某抗癌药及安慰剂疗效的成组序贯试验,以时间事件为试验结果,根据预试验\(\theta=0.405\),在\(\alpha=0.05,\beta=0.20\)时,每期各需要多少病例?

Cox.Test <- function(alpha, beta, theta, k) {
    Ifixed <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2/theta^2
    data <- read.csv("Rb.csv", header = T)
    col <- paste(paste("alpha", alpha, sep = ""), paste("beta", format(beta, 
        nsmall = 2), sep = ""), sep = "")
    rb <- as.matrix(data)[k, col]
    Imax <- Ifixed * rb
    nd <- Imax/0.25  #theta接近零,对每一期,riA,k ≈ riB,k,Ik近似于0.25dk
    nd
}

Cox.Test(0.05, 0.2, 0.405, 5)
## alpha0.05beta0.20 
##          196.7663

每期各需要197例,实际应用中还需根据删失、风险等因素进行调整。

\(\alpha\)消耗函数

常用的成组序贯试验有以下几种: Pocock法(常数界值)、O’Brien-Fleming法(非常数界值)和成组序贯可信区间法等 。 虽然这几种方法都能根据期中分析次数制定检验临界值,达到控制I类错误的目的,但是都严格依赖期中分析计划,需要在完成固定数目的患者随访之后进行,因此缺乏灵活性,在实际应用中有一定的局限性。\(\alpha\)消耗函数法则弥补了这一局限,\(\alpha\)消耗函数法根据信息比例(information fraction)分配I类错误 ,从而在控制I类错误的前提下 ,不再依赖固定的期中分析频率和间隔 ,更具有灵活性 。信息比例指的是期中分析时收集到的试验信息量占试验结束时预期全部试验信息量的比例。最常用的是Lan和DeMets在1983年提出的α消耗函数法;1990年Hwang等提出了\(\gamma\)\(\alpha\)消耗函数法。采用Pocock (1977) 或O’Brian-Fleming (1979) 等的方法,应计划好期间分析的时间及次数,并据此定义提早停止试验的边界点 (boundary)。若停止试验原则采用Lan-DeMets (1994) 之\(\alpha\)消耗函数 ,则可以不预先设定时间及次数。

\(\alpha\)消耗函数是随信息时间递增函数,当信息时间为0时,\(\alpha\)消耗函数的值为0,在信息时间为1时,\(\alpha\)消耗函数的值为\(\alpha\)。通常以\(\alpha(s)\)代表在s信息时间时,\(\alpha\)消耗函数的取值,该值表示在s信息时间时希望消耗的I类错误的概率。对一给定的\(\alpha\)消耗函数和一系列的标准统计量\(Z_{k},k=1,...,K\),相应的边界值\(c_{k},k=1,...,K\),有下面关系\[P(|Z_{1}|<c_{1},...,|Z_{k-1}|<c_{k-1},|Z_{k}|\geq c_{k})=\alpha (\frac{k}{K})-\alpha(\frac{k-1}{K})\]

常见的\(\alpha\)消耗函数如下

函数名 函数
O’Brien-Fleming \(\alpha _{1}(s)=2\begin{Bmatrix}1-\Phi (z_{\alpha /2}\sqrt{s})\end{Bmatrix}\)
Pocock \(\alpha _{2}(s)=\alpha log[1+(e-1)s]\)
Lan-DeMets-Kim \(\alpha _{3}(s)=\alpha s^{\rho },\rho>0\)
Hwang-Shih \(\alpha _{4}(s)=\alpha \begin{bmatrix}(1-e^{\zeta s})/(1-e^{-\zeta})\end{bmatrix},\zeta\neq 0\)

R语言ldbounds包中bounds()函数可以计算\(\alpha\)消耗函数的界值。5阶段O’Brien Fleming方法的消耗函数的界值可如下获得

options(digits = 4)
time <- seq(0.2, 1, length = 5)
obf.bd <- bounds(time, iuse = c(1, 1), alpha = c(0.025, 0.025))
summary(obf.bd)
## 
## Lan-DeMets bounds for a given spending function 
##  
## n =  5 
## Overall alpha:  0.05 
## 
## Type: Two-Sided Symmetric Bounds 
## Lower alpha:  0.025 
## Upper alpha:  0.025 
## Spending function:  O'Brien-Fleming 
## 
## Boundaries:
##    Time    Lower   Upper    Exit pr.   Diff. pr.
## 1   0.2  -4.8769  4.8769  1.0777e-06  1.0777e-06
## 2   0.4  -3.3569  3.3569  7.8830e-04  7.8723e-04
## 3   0.6  -2.6803  2.6803  7.6161e-03  6.8278e-03
## 4   0.8  -2.2898  2.2898  2.4424e-02  1.6807e-02
## 5   1.0  -2.0310  2.0310  5.0000e-02  2.5576e-02
plot(obf.bd)

time为信息时间,iuse为1表示O’Brien Fleming方法,为2表示Pocock方法,为3表示power family方法,为4表示Hwang-Shih-DeCani family方法。asf为指定的消耗函数,在iuse为5时alpha为I类错误概率,phi为选择power family方法和Hwang-Shih-DeCani family方法时,选择的\(\rho\)值和\(\zeta\)值。ztrun为选择的截取向量,默认为 c(-8,8)。

类似的5阶段Opower family方法的消耗函数的界值可如下获得

options(digits = 4)
power.bd <- bounds(time, iuse = c(3,3), phi = c(2,2),alpha = c(0.025, 0.025))
summary(power.bd)
## 
## Lan-DeMets bounds for a given spending function 
##  
## n =  5 
## Overall alpha:  0.05 
## 
## Type: Two-Sided Symmetric Bounds 
## Lower alpha:  0.025 
## Upper alpha:  0.025 
## Spending function:  Power Family: alpha * t^phi 
## 
## Boundaries:
##    Time    Lower   Upper  Exit pr.  Diff. pr.
## 1   0.2  -3.0902  3.0902     0.002      0.002
## 2   0.4  -2.7141  2.7141     0.008      0.006
## 3   0.6  -2.4727  2.4727     0.018      0.010
## 4   0.8  -2.2798  2.2798     0.032      0.014
## 5   1.0  -2.1140  2.1140     0.050      0.018
plot(power.bd)

结果中第一列Time为信息时间,第二列为Lower低界值,第三列Upper为高界值,Exit pr为名义的\(\alpha\)值可据此判断是否结束试验,Diff. pr.为本阶段与上一阶段\(\alpha\)值的差异。

样本量再估计

在某些成组序贯试验的期中分析时,需要根据累计的数据对样本量进行再估计,应当注意盲目的进行再估计有可能造成偏移。Shih等提出完成50%样本两后,以率为观察结果的随机双盲样本量再估计方法,估计公式如下:\[n=\frac{(z_{1-\alpha /2}+z_{1-\beta })^{2}(\hat{p_{1}}(1-\hat{p_{1}})+\hat{p_{2}}(1-\hat{p_{2}}))}{\Delta^{2}}\],\(\Delta=|\hat{p_{1}}-\hat{p_{2}}|\),\(\hat{p_{1}}=\frac{\pi\hat{\theta _{1}}-(1-\pi)\hat{\theta _{2}}}{2\pi-1}\),\(\hat{p_{2}}=\frac{\pi\hat{\theta _{2}}-(1-\pi)\hat{\theta _{1}}}{2\pi-1}\)

例 两中心的临床实验,A中心以60%的概率将病人分配到试验组,B中心以40%的概率将病人分配到试验组,整个试验以40%的概率将病人分配到试验组,已完成的50%样本量的期中分析,A中心的有效率为60%,B中心的有效率为50%,请在\(\alpha=0.05,\beta=0.10\)时重新估计下一阶段所需样本量。

根据\(0.4p_{1} + 0.6p_{2} = 0.6\)\(0.6p_{1} + 0.4p_{2} = 0.5\),可\(p_{1}=0.3,p_{2}=0.8\)

GroupSeqReEstimation <- function(alpha, beta, p1, p2) {
    n <- (qnorm(1 - alpha/2) + qnorm(1 - beta))^2 * (p1 * (1 - p1) + p2 * 
        (1 - p2))/(p1 - p2)^2
    n
}

GroupSeqReEstimation(0.05, 0.1, 0.3, 0.8)
## [1] 15.55

重新估计样本量后,共计所需32例。

变异性比较的样本量估计(Comparing Variabilities)

变异性通常分为个体内变异和个体间变异两类,个体内变异指在相同的试验条件下,同一个体多次重复测量值之间存在的差异。个体间变异指不同个体间由于异质性而存在的差异。

重复平行对照设计

显著性检验

显著性检验的样本量需从下面公式中, \[\frac{\sigma ^{2}_{WT}}{\sigma ^{2}_{WR}}=\frac{F_{1-\beta ,n(m-1),n(m-1)}}{F_{\alpha /2 ,n(m-1),n(m-1)}}\]解出n,\(\sigma ^{2}_{WT}\)\(\sigma ^{2}_{WR}\)分别表示T和R的个体内标准差,T(test drug)和R(reference drug)分别表示测试药物和参比药物,T和R组的样本量相同均为n。

例 设计一个2组每个个体重复3次的平行对照实验,根据预试验,T组的个体内标准差为0.3,R组个体内标准差为0.45,在\(\alpha=0.05,\beta=0.20\)时,1:1显著性设计,需要多少样本量?

ISV.Equality <- function(alpha, beta, sigma1, sigma2, m) {
    ratio = sigma1/sigma2
    n = 0
    for (i in 1:1000) {
        ratio.f = qf(p = (1 - beta), i * (m - 1), i * (m - 1), lower.tail = FALSE)/qf(alpha/2, 
            i * (m - 1), i * (m - 1), lower.tail = FALSE)
        if (round(ratio, digits = 2) == round(ratio.f, digits = 2)) {
            n = i
        }
    }
    n
}

ISV.Equality(0.05, 0.2, 0.3, 0.45, 3)
## [1] 102

需要102例。

非劣性/优效性

非劣性/优效性检验的样本量需从下面公式中, \[\frac{\sigma ^{2}_{WT}}{\delta ^{2}\sigma ^{2}_{WR}}=\frac{F_{1-\beta ,n(m-1),n(m-1)}}{F_{\alpha ,n(m-1),n(m-1)}}\]解出n,\(\sigma ^{2}_{WT}\)\(\sigma ^{2}_{WR}\)分别表示T和R的个体内标准差,T(test drug)和R(reference drug)分别表示测试药物和参比药物,T和R组的样本量相同均为n,\(、delta\)为界值。

例 设计一个2组每个个体重复3次的平行对照实验,根据预试验,T组的个体内标准差为0.3,R组个体内标准差为0.45,在\(\alpha=0.05,\beta=0.20\)时,1:1非劣性设计,在界值为-1.1时需要多少样本量?

ISV.NIS <- function(alpha, beta, sigma1, sigma2, m, margin) {
    ratio = sigma1/(sigma2 * margin^2)
    n = 0
    for (i in 1:1000) {
        ratio.f = qf(p = (1 - beta), i * (m - 1), i * (m - 1), lower.tail = FALSE)/qf(alpha, 
            i * (m - 1), i * (m - 1), lower.tail = FALSE)
        if (round(ratio, digits = 2) == round(ratio.f, digits = 2)) {
            n = i
        }
    }
    n
}

ISV.NIS(0.05, 0.2, 0.3, 0.45, 3, -1.1)
## [1] 36

需要36例。

等效性

等效性检验的样本量需从下面公式中, \[\frac{\delta ^{2}\sigma ^{2}_{WT}}{\sigma ^{2}_{WR}}=\frac{F_{\beta/2 ,n(m-1),n(m-1)}}{F_{1-\alpha ,n(m-1),n(m-1)}}\]解出n,\(\sigma ^{2}_{WT}\)\(\sigma ^{2}_{WR}\)分别表示T和R的个体内标准差,T(test drug)和R(reference drug)分别表示测试药物和参比药物,T和R组的样本量相同均为n,\(、delta\)为界值。

例 设计一个2组每个个体重复3次的平行对照实验,根据预试验,T组的个体内标准差为0.3,R组个体内标准差为0.45,在\(\alpha=0.05,\beta=0.20\)时,1:1等效性设计,在界值为2时需要多少样本量?

ISV.Equivalence <- function(alpha, beta, sigma1, sigma2, m, margin) {
    ratio = margin^2 * sigma1/sigma2
    n = 0
    for (i in 1:1000) {
        ratio.f = qf(beta/2, i * (m - 1), i * (m - 1), lower.tail = FALSE)/qf(1 - 
            alpha, i * (m - 1), i * (m - 1), lower.tail = FALSE)
        if (round(ratio, digits = 1) == round(ratio.f, digits = 1)) {
            n = i
        }
    }
    n
}

ISV.Equivalence(0.05, 0.2, 0.3, 0.45, 3, 2)
## [1] 18

需要18例。

简单随机效应模型

根据Quan和Shih提出的随机效应模型,可以到处方差的估计公式 \(\sigma _{i}^{*2}=\frac{1}{2m}\hat{CV_{i}^{2}}+\hat{CV_{i}^{4}}\)

显著性检验

显著性检验样本量计算公式如下\[n=\frac{(\sigma _{T}^{*2}+\sigma _{R}^{*2})(z_{1-\alpha }+z_{1-\beta })^{2}}{(CV_{T}-CV_{R})^{2}}\],\(CV_{T},CV_{R}\)分别为T和R组的变异度,\(\sigma _{T}^{*2},\sigma _{R}^{*2}\)分别为T和R组方差。

例 设计一个2组每个个体重复2次的平行对照实验,根据预试验,治疗组的变异度为50%,对照组变异度70%,在\(\alpha=0.05,\beta=0.20\)时,1:1显著性设计,需要多少样本量?

ISCV.Equality <- function(alpha, beta, CVt, CVr, m) {
    sigma1 = 1/(2 * m) * CVt^2 + CVt^4
    sigma2 = 1/(2 * m) * CVr^2 + CVr^4
    n = (sigma1 + sigma2) * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(CVt - 
        CVr)^2
    n
}

ISCV.Equality(0.05, 0.2, 0.7, 0.5, 2)
## [1] 75.37

需要75例。

非劣性/优效性检验

非劣性/优效性检验样本量计算公式如下\[n=\frac{(\sigma _{T}^{*2}+\sigma _{R}^{*2})(z_{1-\alpha }+z_{1-\beta })^{2}}{(CV_{T}-CV_{R}-\delta)^{2}}\],\(CV_{T},CV_{R}\)分别为T和R组的变异度,\(\sigma _{T}^{*2},\sigma _{R}^{*2}\)分别为T和R组方差,\(\delta\)为界值。

例 设计一个2组每个个体重复2次的平行对照实验,根据预试验,治疗组的变异度为50%,对照组变异度70%,在\(\alpha=0.05,\beta=0.20\)时,1:1非劣性设计,界值为0.1,需要多少样本量?

ISCV.NIS <- function(alpha, beta, CVt, CVr, m, margin) {
    sigma1 = 1/(2 * m) * CVt^2 + CVt^4
    sigma2 = 1/(2 * m) * CVr^2 + CVr^4
    n = (sigma1 + sigma2) * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(CVt - 
        CVr - margin)^2
    n
}

ISCV.NIS(0.05, 0.2, 0.7, 0.5, 2, -0.1)
## [1] 33.5

需要33例。

等效性检验

非劣性/优效性检验样本量计算公式如下\[n=\frac{(\sigma _{T}^{*2}+\sigma _{R}^{*2})(z_{1-\alpha }+z_{1-\beta })^{2}}{(\delta-|CV_{T}-CV_{R}|)^{2} }\],\(CV_{T},CV_{R}\)分别为T和R组的变异度,\(\sigma _{T}^{*2},\sigma _{R}^{*2}\)分别为T和R组方差,\(\delta\)为界值。

例 设计一个2组每个个体重复2次的平行对照实验,根据预试验,治疗组的变异度为50%,对照组变异度70%,在\(\alpha=0.05,\beta=0.20\)时,1:1等效性设计,界值为0.1,需要多少样本量?

ISCV.Equivalence <- function(alpha, beta, CVt, CVr, m, margin) {
    sigma1 = 1/(2 * m) * CVt^2 + CVt^4
    sigma2 = 1/(2 * m) * CVr^2 + CVr^4
    n = (sigma1 + sigma2) * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(margin - 
        abs(CVt - CVr))^2
    n
}

ISCV.Equivalence(0.05, 0.2, 0.7, 0.5, 2, 0.1)
## [1] 301.5

需要301例。

个体间变异的比较

除了比较个体内变异和变异度外,实际工作中也需要比较个体间的变异。临床试验中,对个体进行重复测量通常难以实施,但测量不同处理的个体间变异和总变异却有实际应用价值。平行对照设计中估计变异的方法为修正大样本方法(modified large sample, MLS) ,交叉设计中,由于不满足独立性的要求,需要对MLS方法进行扩展。

平行可重复设计

显著性检验

显著性检验样本量计算公式如下, \[n= \frac{\sigma ^{*2}(z_{1-\alpha /2}+z_{1-\beta})^{2}}{(\sigma _{BT}^{2}-\sigma _{BR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}+\frac{\sigma_{WT}^{4}}{m^{2}(m-1)}+\frac{\sigma _{WR}^{4}}{m^{2}(m-1)}\end{bmatrix}\)

例 设计一个2组每个个体重复3次的平行对照实验,根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20\)时,1:1显著性设计,需要多少样本量?

InterSV.Equality <- function(alpha, beta, vbt, vwt, vbr, vwr, m) {
    sigma = 2 * (vbt^2 + vwt^2/m)^2 + (vbr^2 + vwr^2/m)^2 + vwt^4/(m^2 * 
        (m - 1)) + vwr^4/(m^2 * (m - 1))
    n = sigma * (qnorm(1 - alpha/2) + qnorm(1 - beta))^2/(vbt^2 - vbr^2)^2
    n
}

InterSV.Equality(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 3)
## [1] 92.9

需要93例。

非劣性/优效性检验

样本量计算公式如下 非劣性/优效性检验\[n= \frac{\sigma ^{*2}(z_{1-\alpha}+z_{1-\beta})^{2}}{(\sigma _{BT}^{2}-\delta ^{2}\sigma _{BR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+\delta ^{4}(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}+\frac{\sigma_{WT}^{4}}{m^{2}(m-1)}+\frac{\delta ^{4}\sigma _{WR}^{4}}{m^{2}(m-1)}\end{bmatrix}\)

例 设计一个2组每个个体重复3次的平行对照实验,根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20\)时,1:1非劣性设计,需要多少样本量?

InterSV.NIS <- function(alpha, beta, vbt, vwt, vbr, vwr, m, margin) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + margin^4 * (vbr^2 + vwr^2/m)^2 + 
        vwt^4/(m^2 * (m - 1)) + margin^4 * vwr^4/(m^2 * (m - 1)))
    n = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 - margin^2 * 
        vbr^2)^2
    n
}

InterSV.NIS(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 3, -1.1)
## [1] 74.05

需要74例。

交叉可重复设计

显著性检验

显著性检验样本量计算公式如下, \[n_{s}=\frac{\sigma^{*2}(z_{1-\alpha /2}+z_{1-\beta })^{2}}{(\sigma_{BT}^{2}-\sigma_{BR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}-2\rho ^{2}\sigma_{BT} ^{2}\sigma_{BR}^{2}+\frac{\sigma_{WT}^{4}}{m^{2}(m-1)}+\frac{\sigma _{WR}^{4}}{m^{2}(m-1)}\end{bmatrix}\)

例 设计一个2组每个个体重复2次的交叉对照实验(ABAB,BABA),根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20,\rho= 0.75\)时,1:1显著性设计,需要多少样本量?

InterSV.Cross.Equality <- function(alpha, beta, vbt, vwt, vbr, vwr, m, 
    rho) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + (vbr^2 + vwr^2/m)^2 - 2 * rho^2 * 
        vbt^2 * vbr^2 + vwt^4/(m^2 * (m - 1)) + vwr^4/(m^2 * (m - 1)))
    ns = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 - vbr^2)^2
    ns
}

InterSV.Cross.Equality(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 2, 0.75)
## [1] 101.8

总计需要102例,由于\(n_{s}=n_{1}+n_{2}-2\),每组大约需要52例。

非劣性/优效性检验

样本量计算公式如下 非劣性/优效性检验\[n_{s}= \frac{\sigma ^{*2}(z_{1-\alpha}+z_{1-\beta})^{2}}{(\sigma _{BT}^{2}-\delta ^{2}\sigma _{BR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+\delta ^{4}(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}-2\delta ^{2}\rho ^{2}\sigma_{BT} ^{2}\sigma_{BR}^{2}+\frac{\sigma_{WT}^{4}}{m^{2}(m-1)}+\frac{\delta ^{4}\sigma _{WR}^{4}}{m^{2}(m-1)}\end{bmatrix}\)

例 设计一个2组每个个体重复2次的交叉对照实验(ABAB,BABA),根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20,\rho= 0.75\)时,1:1非劣性设计,需要多少样本量?

InterSV.Cross.NIS <- function(alpha, beta, vbt, vwt, vbr, vwr, m, margin, 
    rho) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + margin^4 * (vbr^2 + vwr^2/m)^2 - 
        2 * margin^2 * rho^2 * vbt^2 * vbr^2 + vwt^4/(m^2 * (m - 1)) + 
        margin^4 * vwr^4/(m^2 * (m - 1)))
    ns = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 - margin^2 * 
        vbr^2)^2
    ns
}

InterSV.Cross.NIS(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 2, -1.1, 0.75)
## [1] 66.12

总计需要66例,由于\(n_{s}=n_{1}+n_{2}-2\),每组大约需要29例。

总体变异的比较

总体变异的估计可从标准的2×2交叉/平行设计或者重复的2×2m的交叉/平行设计中获得。

无重复的平行对照试验

显著性检验

显著性检验样本量计算公式需要解下公式\[\frac{\sigma _{TT}^{2}}{\sigma _{TR}^{2}}=\frac{F_{1-\beta,n-1,n-1}}{F_{\alpha /2,n-1,n-1}}\],其中\(\sigma _{TT}\)\(\sigma _{TR}\)为T组和R组的方差。

例 设计一无重复的平行对照的临床试验,根据预试验,T组和R组的方差分别为0.55和0.75,在\(\alpha=0.05,\beta=0.20\)时,显著性设计需要多少样本量?

Variabilities.Parallel.Equality <- function(alpha, beta, vtt, vtr) {
    ratio = vtt^2/vtr^2
    n = 0
    for (i in 2:1000) {
        ratio.f = qf(p = (1 - beta), i - 1, i - 1, lower.tail = FALSE)/qf(alpha/2, 
            i - 1, i - 1, , lower.tail = FALSE)
        if (round(ratio, digits = 2) == round(ratio.f, digits = 2)) {
            n = i
        }
    }
    n
}

Variabilities.Parallel.Equality(0.05, 0.2, 0.55, 0.75)
## [1] 87

每组需要87例。

非劣性/优效性检验

非劣性/优效性检验样本量计算公式需要解下公式\[\frac{\sigma _{TT}^{2}}{\delta ^{2}\sigma _{TR}^{2}}=\frac{F_{1-\beta,n-1,n-1}}{F_{\alpha ,n-1,n-1}}\],其中\(\sigma _{TT}\)\(\sigma _{TR}\)为T组和R组的方差,\(delta\)为界值。

例 设计一无重复的平行对照的临床试验,根据预试验,T组和R组的方差分别为0.55和0.75,在\(\alpha=0.05,\beta=0.20\)时,非劣性设计,在界值为1.1时,需要多少样本量?

Variabilities.Parallel.NIS <- function(alpha, beta, vtt, vtr, margin) {
    ratio = vtt^2/margin^2 * vtr^2
    n = 0
    for (i in 2:1000) {
        ratio.f = qf(p = (1 - beta), i - 1, i - 1, lower.tail = FALSE)/qf(alpha, 
            i - 1, i - 1, , lower.tail = FALSE)
        if (round(ratio, digits = 2) == round(ratio.f, digits = 2)) {
            n = i
        }
    }
    n
}

Variabilities.Parallel.NIS(0.05, 0.2, 0.55, 0.75, -1.1)
## [1] 8

每组需要8例。

等效性检验

等效性检验样本量计算公式需要解下公式\[\frac{\delta ^{2}\sigma _{TT}^{2}}{\sigma _{TR}^{2}}=\frac{F_{\beta/2,n-1,n-1}}{F_{1-\alpha ,n-1,n-1}}\],其中\(\sigma _{TT}\)\(\sigma _{TR}\)为T组和R组的方差,\(delta\)为界值。

例 设计一无重复的平行对照的临床试验,根据预试验,T组和R组的方差分别为0.55和0.75,在\(\alpha=0.05,\beta=0.20\)时,等效性设计,在界值为1.8时,需要多少样本量?

Variabilities.Parallel.Equivalence <- function(alpha, beta, vtt, vtr, margin) {
    ratio = margin^2 * vtt^2/vtr^2
    n = 0
    for (i in 2:1000) {
        ratio.f = qf(beta/2, i - 1, i - 1, lower.tail = FALSE)/qf(p = (1 - 
            alpha), i - 1, i - 1, , lower.tail = FALSE)
        if (round(ratio, digits = 1) == round(ratio.f, digits = 1)) {
            n = i
        }
    }
    n
}

Variabilities.Parallel.Equivalence(0.05, 0.2, 0.55, 0.75, 1.8)
## [1] 138

每组需要138例。

重复的平行对照试验

显著性检验

显著性检验样本量计算公式如下, \[n= \frac{\sigma ^{*2}(z_{1-\alpha /2}+z_{1-\beta})^{2}}{(\sigma _{TT}^{2}-\sigma _{TR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}+\frac{(m-1)\sigma_{WT}^{4}}{m^{2}}+\frac{(m-1)\sigma _{WR}^{4}}{m^{2}}\end{bmatrix}\)

例 设计一个3组每个个体重复3次的平行对照实验,根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20\)时,1:1显著性设计,需要多少样本量?

Variabilities.Parallel.Rep.Equality <- function(alpha, beta, vbt, vwt, 
    vbr, vwr, m) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + (vbr^2 + vwr^2/m)^2 + (m - 1) * 
        vwt^4/m^2 + (m - 1) * vwr^4/m^2)
    n = sigma * (qnorm(1 - alpha/2) + qnorm(1 - beta))^2/(vbt^2 + vwt^2 - 
        (vbr^2 + vwr^2))^2
    n
}

Variabilities.Parallel.Rep.Equality(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 3)
## [1] 53.34

需要53例。

非劣性/优效性检验

样本量计算公式如下 非劣性/优效性检验\[n= \frac{\sigma ^{*2}(z_{1-\alpha}+z_{1-\beta})^{2}}{(\sigma _{TT}^{2}-\delta ^{2}\sigma _{TR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+\delta ^{4}(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}+\frac{(m-1)\sigma_{WT}^{4}}{m^{2}}+\delta ^{4}\frac{(m-1)\sigma _{WR}^{4}}{m^{2}}\end{bmatrix}\)

例 设计一个3组每个个体重复3次的平行对照实验,根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20\)时,1:1非劣性设计,需要多少样本量?

Variabilities.Parallel.Rep.NIS <- function(alpha, beta, vbt, vwt, vbr, 
    vwr, m, margin) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + margin^4 * (vbr^2 + vwr^2/m)^2 + 
        (m - 1) * vwt^4/(m^2) + margin^4 * (m - 1) * vwr^4/(m^2))
    n = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 + vwt^2 - 
        margin^2 * (vbr^2 + vwr^2))^2
    n
}

Variabilities.Parallel.Rep.NIS(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 3, -1.1)
## [1] 27.64

需要28例。

标准2×2交叉设计

显著性检验

显著性检验样本量计算公式如下, \[n_{s}= \frac{\sigma ^{*2}(z_{1-\alpha /2}+z_{1-\beta})^{2}}{(\sigma _{TT}^{2}-\sigma _{TR}^{2})^{2}}\],其中\(\sigma^{*2}=2(\sigma _{TT}^{4}+\sigma _{TR}^{4}-2\rho^{2}\sigma _{BT}^{2}\sigma_{BR} ^{2})\)

例 设计一个2×2的标准交叉对照实验,根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20,\rho=1\)时,1:1显著性检验设计,需要多少样本量?

Variabilities.Cross.Equality <- function(alpha, beta, vbt, vwt, vbr, vwr, 
    rho) {
    sigma = 2 * ((vbt^2 + vwt^2)^2 + (vbr^2 + vwr^2)^2 - 2 * rho^2 * vbt^2 * 
        vbr^2)
    ns = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 + vwt^2 - 
        (vbr^2 + vwr^2))^2
    ns
}

Variabilities.Cross.Equality(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 1)
## [1] 43.45

由于\(n_{s}=n_{1}+n_{2}-2\),每组需23例。

非劣性/优效性检验

样本量计算公式如下 非劣性/优效性检验\[n_{s}= \frac{\sigma ^{*2}(z_{1-\alpha}+z_{1-\beta})^{2}}{(\sigma _{TT}^{2}-\delta ^{2}\sigma _{TR}^{2})^{2}}\],其中\(\sigma^{*2}=2(\sigma _{TT}^{4}+\delta ^{4}\sigma _{TR}^{4}-2\delta ^{2}\rho^{2}\sigma _{BT}^{2}\sigma_{BR} ^{2})\)

例 设计一个2×2的标准交叉对照实验,根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20,\rho=1\)时,1:1非劣性检验设计,在界值为1.1的情况下需要多少样本量?

Variabilities.Cross.NIS <- function(alpha, beta, vbt, vwt, vbr, vwr, margin, 
    rho) {
    sigma = 2 * ((vbt^2 + vwt^2)^2 + margin^4 * (vbr^2 + vwr^2)^2 - 2 * 
        margin^2 * rho^2 * vbt^2 * vbr^2)
    ns = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 + vwt^2 - 
        margin^2 * (vbr^2 + vwr^2))^2
    ns
}

Variabilities.Cross.NIS(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, -1.1, 1)
## [1] 30.57

由于\(n_{s}=n_{1}+n_{2}-2\),每组需16例。

重复2×2m交叉设计

显著性检验

\[n= \frac{\sigma ^{*2}(z_{1-\alpha /2}+z_{1-\beta})^{2}}{(\sigma _{TT}^{2}-\sigma _{TR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}-2\rho^2\sigma _{BT}^{2}\sigma _{BR}^{2}+\frac{(m-1)\sigma_{WT}^{4}}{m^{2}}+\frac{(m-1)\sigma _{WR}^{4}}{m^{2}}\end{bmatrix}\)

例 设计一个2组每个个体重复2次的交叉对照实验(ABAB,BABA),根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20,\rho= 0.75\)时,1:1显著性设计,需要多少样本量?

Variabilities.Cross.Rep.Equality <- function(alpha, beta, vbt, vwt, vbr, 
    vwr, m, rho) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + (vbr^2 + vwr^2/m)^2 - 2 * rho^2 * 
        vbt^2 * vbr^2 + (m - 1) * vwt^4/m^2 + (m - 1) * vwr^4/m^2)
    ns = sigma * (qnorm(1 - alpha/2) + qnorm(1 - beta))^2/(vbt^2 + vwt^2 - 
        (vbr^2 + vwr^2))^2
    ns
}

Variabilities.Cross.Rep.Equality(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 2, 0.75)
## [1] 43.99

由于\(n_{s}=n_{1}+n_{2}-2\),每组需23例。

非劣性/优效性检验

非劣性/优效性检验样本量计算公式如下\[n= \frac{\sigma ^{*2}(z_{1-\alpha}+z_{1-\beta})^{2}}{(\sigma _{TT}^{2}-\delta ^{2}\sigma _{TR}^{2})^{2}}\],其中\(\sigma^{*2}=2\begin{bmatrix}(\sigma_{BT}^{2}+\frac{\sigma _{WT}^{2}}{m})^{2}+\delta ^{4}(\sigma _{BR}^{2}+\frac{\sigma_{WR}^{2}}{m})^{2}-2\delta^{2}\rho^{2}\sigma_{BT}^{2}\sigma_{BR}^{2}+\frac{(m-1)\sigma_{WT}^{4}}{m^{2}}+\delta ^{4}\frac{(m-1)\sigma _{WR}^{4}}{m^{2}}\end{bmatrix}\)

例 设计一个2组每个个体重复2次的交叉对照实验(ABAB,BABA),根据预试验,T组和R组的个体间标准差分别为0.3,0.4,T组和R组的个体内标准差分别为0.2,0.3,在\(\alpha=0.05,\beta=0.20,\rho= 0.75\)时,1:1非劣性设计,需要多少样本量?

Variabilities.Cross.Rep.NIS <- function(alpha, beta, vbt, vwt, vbr, vwr, 
    m, margin, rho) {
    sigma = 2 * ((vbt^2 + vwt^2/m)^2 + margin^4 * (vbr^2 + vwr^2/m)^2 - 
        2 * margin^2 * rho^2 * vbt^2 * vbr^2 + (m - 1) * vwt^4/(m^2) + 
        margin^4 * (m - 1) * vwr^4/(m^2))
    ns = sigma * (qnorm(1 - alpha) + qnorm(1 - beta))^2/(vbt^2 + vwt^2 - 
        margin^2 * (vbr^2 + vwr^2))^2
    ns
}

Variabilities.Cross.Rep.NIS(0.05, 0.2, 0.3, 0.2, 0.4, 0.3, 2, -1.1, 0.75)
## [1] 23.85

由于\(n_{s}=n_{1}+n_{2}-2\),每组需13例。

生物等效性(Bioequivalence)

生物利用度(bioavailability)指药物吸收进入血液循环的程度和速度。通常它的吸收程度是用血浆药物浓度与时间曲线下的面积(AUC)表示的,不管曲线下的形状如何,曲线下面积越大,表示吸收越完全。而吸收速度是以用药后所能达到的最高血药浓度(峰浓度,\(C_{max}\))与达到最高血药浓度的时间(达峰时间,\(T_{max}\))比值。一般认为静脉注射的生物利用度是100%,如果把静脉注射(iv)与血管外给药(ev)的AUC值进行比较,并计算后者的生物利用度,即为绝对生物利用度。同一给药途径下,对不同制剂进行比较,即为相对生物利用度。

生物等效性(bioequivalence, BE)是指统一种药物的不同制剂在相同实验条件下,给予相同剂量,其吸收程度和速度没有显著的差异,主要用于评价仿制药(generic drug)与专利药(brand-name drug)是否相当。FDA规定,例如仿制药与标准药,天然药与化学药,口服药与针剂,长效药与短效药,某药低剂量与高剂量的比较需要用生物等效性方法来评价。FDA规定,若仿制药品与注册药品间具有生物等效性,申报过程可按缩略申报程序进行,而不需要按新药申报程序进行,避免了耗时、昂贵的I、II、III期临床试验,所以生物等效性在新药临床试验中占有重要的地位。

生物等效性与药剂等效性(pharmaceutical eqivalents)不同,药剂等效性是指统一药物相同剂量制成同一剂型,但非活性成分不一定相同,在含量、纯度、均度等符合同一规定标准的制剂。药剂等效性没有反映药物制剂在体内的情况。生物等效性均以试验品与参考品作比较, 二者应有相似的剂量形式, 并且它们在生物体内吸收的速率和延缓(吸收率和吸收度)没有显著的差别。目前关于生物等效性的实验设计与分析是基于以下假设的:两药物的吸收率和吸收度相同即认为生物等效, 它们的治疗效果也应是相同的。吸收率和吸收度是通过测量药代动力学响应, 如AUC和\(C_{max}\)而得到的。因此生物等效性应该是对于这些观测值所在总体分布而言的, 当它是正态分布或对数正态分布时 , 只要比较均数和变异就可以了。也就是说, 要看生物利用度是否是等效的, 需要把这些利用度数值作为总体参数在两种配方中的样本作统计推断 。1996年Chinchilli给出3个关于生物等效性定义群体生物等效性(population bioequivalence, PBE): 对于两药物有关的概率分布函数而言是生物等效性 ;平均生物等效性(average bioequivalence, ABE): 对于两药物有关的概率分布函数的均数或中位数而言是生物等效性 ;个体生物等效性(individual bioequivalence, IBE): 对于总体中大部分个体而言是生物等效性。ABE虽然保证平均效应相同,但不一定保证效应的变异度相同,即两总体的均值相同,但方差不一定相同。PBE能保证使用T药物和使用R药物所得效应,不仅其平均值相同,而且效应的变异度相同,即两总体的边缘分布相同。PBE虽保证其边缘分布相同,但对每个个体而言,使用T药物和使用R药物所得效应不一定相同。即个体与药物可能存在交互作用。IBE对每个个体而言,使用T药物和使用R药物所得效应值接近。从等效的程度看,IBE>PBE>ABE。从应用角度看,两个具有个体生物等效性的药物,具有药物可交替性(switchability),即某患者在服用某药物一段时间后,如果改用另一个与之具有个体等效性的药物,可以得到相同的效果。具有群体生物等效性的药物,具有处方可选择性(prescribability),即医生在给患者初次开药时可以任意选用,这对该类患者的群体来说效应是相同的。基于以上考虑,美国FDA较为提倡PBE和IBE。

平均生物等效性

标准2(顺序)×2(时期) 交叉试验,即两种处理T和R, 则将受试对象随机分为两组, 第一组在第一时期接受T处理,在第二时期接受R处理,实验顺序为TR;第二组则相反,在第一时期接受R处理,在第二时期接受T处理, 实验顺序为 RT。平均生物等效性基于2×2交叉设计的样本量可用如下公式进行估计\[n=\frac{(z_{1-\alpha }+z_{1-\beta /2})^{2}\sigma _{1,1}^{2}}{2(\delta -|\epsilon |)^{2}}\],其中\(\delta\)为平均等效界值在ln(8/10)到ln(10/8)之间,\(\sigma _{1,1}\)为个体内标准差,\(\epsilon\)为T和R的差值。

例 某研究者预设计一个2×2交叉设计的、比较某种药物的吸入剂和皮下注射剂差异的平均生物等效性试验,根据药代动力学的预试验,个体内标准差为0.4,平均等效界值为ln(10/8)约为0.2231,差值为0.05,\(\sigma=0.4\),,在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

(ABE(0.05,0.2,0.4,0.223,0.05))
## [1] 20.98

每组需要21例。

群体生物等效性

群体生物等效性基于2×2交叉设计的样本量可用如下公式进行估计\[n=\frac{\zeta (z_{1-\alpha}+z_{\beta })^{2}}{\lambda ^{2}}\],其中\(\zeta =2\delta ^{2}\sigma _{1,1}^{2}+\sigma _{TT}^{4}+(1+a)^{2}\sigma_{TR}^{4}-2(1+a)\rho ^{2}\sigma _{TT}^{2}\sigma_{TR}^{2}\),\(\delta\)为界值,\(\sigma_{a,b}^{2}=\sigma_{D}^{2}+a\sigma _{WT}^{2}+b\sigma _{WT}^{2}\)\(\rho\)为个体间相关系数,a为1.74,\(\delta\)为AUC值的平均差。

例 某研究者预设计一个2×2交叉设计的、比较某种药物的吸入剂和皮下注射剂差异的群体生物等效性试验,根据药代动力学的预试验 \(\sigma _{1,1}=0.2,\sigma _{tt}=\sqrt{0.17},\sigma_{tr}=\sqrt{0.17},\sigma _{bt}=0.4,\sigma_{br}=0.4,\rho=0.75,a=1.74,\delta=0.00,\lambda =-0.2966\) ,在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

PBE(0.05,0.2,0.2,sqrt(0.17),sqrt(0.17),0.4,0.4,0.75,1.74,0.00,-0.2966)
## [1] 11.73

每组需要12例。

个体生物等效性

个体生物等效性基于2×4交叉设计(TRTR,RTRT)的样本量可用如下公式\[\hat{\gamma }+\sqrt{\hat{U}}+\sqrt{\hat{U_{1-\beta }}}\leq 0\],其中\[U=\begin{bmatrix}(|\hat{\delta}|+t_{0.05,n_{1}+n_{2}-2}\frac{\hat{\sigma} _{0.5,0.5}}{2}\sqrt{\frac{1}{n_{1}}+\frac{1}{n_{2}}})^{2}-\hat{\delta}^{2}\end{bmatrix}^{2}\]\[+\hat{\sigma} _{0.5,0.5}^{4}(\frac{n_{1}+n_{2}-2}{\chi_{0.95,n_{1}+n_{2}-2} ^{2}}-1)^{2}\]\[+0.5^{2}\hat{\sigma}_{WT}^{4}(\frac{n_{1}+n_{2}-2}{\chi_{0.95,n_{1}+n_{2}-2} ^{2}}-1)^{2}\]\[+(1.5+\theta _{IBE})^{2}\hat{\sigma}_{WT}^{4}(\frac{n_{1}+n_{2}-2}{\chi_{0.05,n_{1}+n_{2}-2} ^{2}}-1)^{2}\]\[\gamma =\delta ^{2}+\sigma _{D}^{2}+\sigma _{WT}^{2}-\sigma _{WR}^{2}-\theta_{IBE}max\begin{Bmatrix}\sigma _{0},\sigma _{WR}^{2}\end{Bmatrix}\]\[\sigma _{a,b}^{2}=\sigma _{D}^{2}+a\sigma _{WT}^{2}+b\sigma _{WR}^{2}\]\(\sigma_{WT}^{2},\sigma_{WR}^{2}\)分别为T、R效应的个体内方差,\(\sigma_{BT}^{2},\sigma_{BR}^{2}\)分别为T、R效应的个体间方差,\(\delta\)为T和R效应的差值,\(\sigma_{D}^{2}\)为个体与药物的交互作用。

例 某研究者预设计一个2×4交叉设计的、比较某种药物的吸入剂和皮下注射剂差异的个体生物等效性试验,根据药代动力学的预试验 \(\sigma _{BT}=0.1,\sigma _{BR}=0.4,\sigma _{WT}=0.6,\sigma _{WR}=0.4,\delta=0,a=b=0.5,\theta_{IBE}=5.11,\rho=0.75\) ,在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

IBE <- function(alpha, beta, delta, sigmaBT, sigmaBR, sigmaWT, sigmaWR, 
    a, b, thetaIBE, rho) {
    sigmaD <- sqrt(sigmaBT^2 + sigmaBR^2 - 2 * rho * sigmaBT * sigmaBR)
    Sigma <- function(sigmaD, sigmaWT, sigmaWR, a, b) {
        Sigma = sigmaD^2 + a * sigmaWT^2 + b * sigmaWR^2
    }
    U <- function(n, alpha, beta, delta, sigmaD, sigmaWT, sigmaWR, a, b, 
        thetaIBE) {
        U = ((abs(delta) + qt(alpha, 2 * n - 2) * Sigma(sigmaD, sigmaWT, 
            sigmaWR, 0.5, 0.5)/2 * sqrt(2/n))^2 - delta^2)^2 + Sigma(sigmaD, 
            sigmaWT, sigmaWR, 0.5, 0.5)^4 * ((2 * n - 2)/qchisq(1 - alpha, 
            2 * n - 2) - 1)^2 + 0.5^2 * sigmaWT^4 * ((2 * n - 2)/qchisq(1 - 
            alpha, 2 * n - 2) - 1)^2 + (1.5 + thetaIBE)^2 * sigmaWR^4 * 
            ((2 * n - 2)/qchisq(alpha, 2 * n - 2) - 1)^2
    }
    gamma = delta^2 + sigmaD^2 + sigmaWT^2 - sigmaWR^2 - thetaIBE * sigmaWR^2
    n <- 0
    for (i in 2:1000) {
        bound = gamma + sqrt(U(i, alpha, 0.05, delta, sigmaD, sigmaWT, 
            sigmaWR, a, b, thetaIBE)) + sqrt(U(i, alpha, beta, delta, sigmaD, 
            sigmaWT, sigmaWR, a, b, thetaIBE))
        if (round(bound, digits = 2) == 0) {
            n = i
        }
    }
    n
}

IBE(0.05, 0.2, 0, 0.1, 0.4, 0.6, 0.4, 0.5, 0.5, 5.11, 0.75)
## [1] 69

每组需要69例,与Sample Size Calculation in Clinical Research书中的计算结果有差异。

体外实验法

体外实验法的样本量可用如下公式\[\hat{\zeta }+\sqrt{\hat{U}}+\sqrt{\hat{U_{1-\beta }}}\leq 0\]进行估算,其中\[U=\begin{bmatrix}(|\hat{\delta}|+z_{0.05}\sqrt{\frac{s_{BT}^{2}}{m_{T}}+\frac{s_{BR}^{2}}{m_{R}}})^{2}-\hat{\delta}^{2}\end{bmatrix}^{2}\]\[+s_{BT}^{4}(\frac{m_{T}-1}{\chi_{0.95,m_{T}-1} ^{2}}-1)^{2}\]\[+(1-n_{T}^{-1})^{2}s_{WT}^{4}(\frac{m_{T}(n_{T}-1)}{\chi_{0.95,m_{T}(n_{T}-1)} ^{2}}-1)^{2}\]\[+(1+\theta _{BE})^{2}s_{BR}^{4}(\frac{m_{R}-1}{\chi_{0.05,m_{R}-1} ^{2}}-1)^{2}+\]\[(1+c\theta _{BE})^{2}(1-n_{R}^{-1})^{2}s_{WR}^{4}(\frac{m_{R}(n_{R}-1)}{\chi_{0.05,m_{R}(n_{R}-1)}}-1)\]\[\zeta =\delta ^{2}+\sigma _{T}^{2}-\sigma _{R}^{2}-\theta _{BE}max\begin{Bmatrix}\sigma _{0}^{2},\sigma _{R}^{2},\end{Bmatrix}\]\(\sigma_{WT}^{2},\sigma_{WR}^{2}\)分别为T、R效应的个体内方差,\(\sigma_{BT}^{2},\sigma_{BR}^{2}\)分别为T、R效应的个体间方差,\(\delta\)为T和R效应的差值。

例 某研究者预设计一个无重复的平行对照的体外实验法,根据药代动力学的预试验 \(\sigma _{BT}=0.5,\sigma _{BR}=0.5,\sigma _{WT}=0.5,\sigma _{WR}=0.5,\delta=0,a=b=0.5,\theta_{BE}=15\) ,在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

Vitro.BE <- function(alpha, beta, delta, sigmaBT, sigmaBR, sigmaWT, sigmaWR, 
    thetaBE) {
    U <- function(m, n, alpha, beta, delta, sigmaBT, sigmaBR, sigmaWT, 
        sigmaWR, thetaBE) {
        U = ((abs(delta) + qnorm(alpha) * sqrt(sigmaBT^2/m + sigmaBR^2/m))^2 - 
            delta^2)^2
        +(sigmaBT^2 + sigmaWT^2)^2 * ((m - 1)/qchisq(1 - alpha, m - 1) - 
            1)^2
        +(1 + thetaBE)^2 * (sigmaBR^2 + sigmaWR^2)^2 * ((m - 1)/qchisq(alpha, 
            m - 1) - 1)^2
    }
    sigmaT = sqrt(sigmaBT^2 + sigmaWT^2)
    sigmaR = sqrt(sigmaBR^2 + sigmaWR^2)
    gamma = delta^2 + sigmaT^2 - sigmaR^2 - thetaBE * sigmaR^2
    n <- 0
    for (i in 2:1000) {
        bound = gamma + sqrt(U(i, 1, alpha, 0.05, delta, sigmaBT, sigmaBR, 
            sigmaWT, sigmaWR, thetaBE))
        +sqrt(U(i, 1, alpha, beta, delta, sigmaBT, sigmaBR, sigmaWT, sigmaWR, 
            thetaBE))
        if (round(bound, digits = 2) == 0) {
            n = i
        }
    }
    n
}

Vitro.BE(0.05, 0.2, 0, 0.5, 0.5, 0.5, 0.5, 1)
## [1] 42

每组需要42例

剂量反应研究(Dose Response Studies)

II期临床试验目的在于对新药的安全性和有效性进行初步评价,并通过对剂量反应关系的研究,为III期临床实验给药剂量方案的制定提供依据。实际中,I期临床试验的剂量反应关系关注安全性,II期临床试验的剂量反应关系关注有效性。剂量反应关系研究主要包括:确认不同剂量组之间是否存在剂量反应关系,剂量反应关系曲线的形状如何,最佳剂量应该为多少?剂量反映关系的研究通常采用随机平行对照设计,通过测量方差来证明药物的有效性,通过Williams方法比较实验组和对照组的最小有效剂量(MED),通过模型来证明剂量反应关系,通过最大耐受剂量(MTD)说明最优剂量。

计量资料(Continuous Response)

基于线性对比法的样本量可根据\[N=\begin{bmatrix}\frac{(z_{1-\alpha }+z_{1-\beta })\sigma }{\varepsilon }\end{bmatrix}^{2}\sum_{i=0}^{k}\frac{c_{i}^{2}}{f_{i}}\]进行估计,\(\sigma\)为标准差,\(\varepsilon =\sum_{i=0}^{k}c_{i}u_{i}\),\(c_{i}\)为分组情况,但应使得\(\sum c_{i}=0\),\(u_{i}\)为各组相对于基线提高的百分率。

例 为某药物设计一个4组平行对照剂量反应试验,其中有1个对照组,3个试验组(剂量分别为20mg, 40mg,60mg),根据预实验,\(\sigma=0.22,c_{0}= −6, c_{1} = 1, c_{2}= 2, c_{3} = 3,u_{0}= 0.05, u_{1} = 0.12, u_{2}= 0.14, u_{3} = 0.16\),在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

mui=c(0.05,0.12,0.14,0.16)
ci=c(-6,1,2,3)
(Dose.Response.Linear(alpha=0.05,beta=0.2,sigma=0.22,mui=mui,ci=ci,fi=1/4))
## [1] 177.9

每组需要44.5例。

二分类变量(Binary Response)

结果为二分类的样本量可根据\[N\geq \begin{bmatrix}\frac{z_{1-\alpha }\sqrt{\sum_{i=0}^{k}\frac{c_{i}^{2}}{f_{i}}\bar{p}(1-\bar{p})}+z_{1-\beta}\sqrt{\sum_{i=0}^{k}\frac{c_{i}^{2}}{f_{i}}p_{i}(1-p_{i})}}{\varepsilon }\end{bmatrix}^{2}\]进行估计,\(\varepsilon =\sum_{i=0}^{k}c_{i}p_{i}\),\(c_{i}\)为分组情况,但应使得\(\sum c_{i}=0\),\(p_{i}\)为各组的反应率。

例 为某药物设计一个4组平行对照剂量反应试验,其中有1个对照组,3个试验组(剂量分别为20mg, 40mg,60mg),根据预实验,\(\sigma=0.22,c_{0}= −6, c_{1} = 1, c_{2}= 2, c_{3} = 3,p_{0}= 0.05, p_{1} = 0.12, p_{2}= 0.14, p_{3} = 0.16\),在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

pi=c(0.05,0.12,0.14,0.16);
ci=c(-6,1,2,3);
(Dose.Response.binary(alpha=0.05,beta=0.2,pi=pi,ci=ci,fi=1/4))
## [1] 336.7

每组需要84.25例。

时间事件数据(Time-to-Event Endpoint)

分析结果为时间事件样本量可根据\[N\geq \begin{bmatrix}\frac{z_{1-\alpha }\sigma _{0}\sqrt{\sum_{i=0}^{k}\frac{c_{i}^{2}}{f_{i}}}+z_{1-\beta}\sqrt{\sum_{i=0}^{k}\frac{c_{i}^{2}}{f_{i}}\sigma _{i}}}{\varepsilon }\end{bmatrix}^{2}\]进行估计,其中\(\sigma ^{2}(\lambda _{i})=\lambda _{i}^{2}\begin{bmatrix}1+\frac{e^{-\lambda _{i}T}(1-e^{\lambda _{i}T_{0}})}{T_{0}\lambda _{i}}\end{bmatrix}^{-1}\), \(T_{0}\)为试验的纳入时间,\(T\)为整个试验时间,\(c_{i}\)为分组情况,但应使得\(\sum c_{i}=0\)

例 某抗肿瘤药物进行II期临床实验,设计1个对照组,1个低剂量组,1个高剂量组和1个联合治疗组,研究结果为患者的生存时间。假定试验的纳入时间为9个月,总实验时间为16个月,估计四组的中位生存时间为14,20,22和24个月(相应的风险率为0.0495/月,0.0347/月,0.0315/月和0.0289/月)。在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

Ti=c(14,20,22,24);
ci=c(-6,1,2,3);
(Dose.Response.time.to.event(alpha=0.05,beta=0.2,T0=9,T=16,Ti=Ti,ci=ci,fi=1/4))
## [1] 411.8

每组需要103例。

最小有效剂量(MED)

基于Williams检验的最小有效剂量样本量可根据\[n=\frac{2\sigma ^{2}[t_{k}(\alpha )+z\beta ]^{2}}{\Delta ^{2}}\]进行计算,\(t_{k}(\alpha )\) 依赖于自由度。

例 某研究者设计一个Williams方法检测最小有效计量的剂量反映实验,根据预试验\(\sigma=0.22,t_{3}(\alpha)=1.75,\Delta=0.11\),在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

(Dose.Min.Effect(0.05,0.2,1.75,0.22,0.11))
## [1] 53.73

每组需要54例。

Cochran-Armitage 趋势检验

Cochran-Armitage 趋势检验样本量可根据\[n=\frac{n^{*}}{4}\begin{bmatrix}1+\sqrt{1+\frac{2\Delta}{An_{0}^{*}}}\end{bmatrix}^{2}\]进行计算,其中\[n^{*}\begin{Bmatrix}z_{1-\alpha }\sqrt{k(k^{2}-1)pd}+z_{1-\beta }\sqrt{\sum b_{i}^{2}p_{i}q_{i}}\end{Bmatrix}^{2}\],\(b_{i}=i-0.5k,D=\sum b_{i}p_{i}\)\(p_{i}\)为每组的反应率,\(A=\sum r_{i}p_{i}(d_{i}-\hat(d)),p=1/N\sum n_{i}p_{i},q=1-p,r_{i}=n_{i}/n_{0}\)

例 某研究者设计一个4组Cochran-Armitage趋势检测的剂量反映实验,根据预试验\(p_{1}=0.1,p_{2}=0.3,p_{3}=0.5,p_{4}=0.7,d_{1}=1,d_{2}=2,d_{3}=3,d_{4}=4,n_{1}=n_{2}=n_{3}=n_{4}=10\),在\(\alpha=0.05,\beta=0.20,\Delta=1\)时,需要多少样本量?

pi=c(0.1,0.3,0.5,0.7)
di=c(1,2,3,4)
ni=c(10,10,10,10)

Cochran.Armitage.Trend(alpha=0.05,beta=0.2,pi=pi,di=di,ni=ni,delta=1)
## [1] 7.468

每组需要7例。

爬坡试验(Dose Escalation Trials)

多数抗肿瘤药物的治疗指数很窄,为避免较高的起始剂量可能出现严重毒性,过低的起始剂量造成的试验周期延长和资源浪费,通常使用爬坡试验的方法。根据各剂量组人数分配策略变化,非参数的爬坡试验设计又被称为 “M+N”试验设计或“A+B”试验设计。全部受试者被随机分配至若干组,每组均包含若干名受试者。同组的受试者服用相同剂量水平的受试药物。按照随机分配方案逐组进入试验的流程,各组内受试者服用且只服用一次某剂量水平的受试药物。不论是否探测到预期的药物响应,均记录其药物响应结果。当在某一剂量水平药物响应人数满足整体试验停止的条件时,整 体试验过程结束并获得探索的目标剂量。在探索剂量限制性毒性(DLT,dose limiting toxicity)和最大耐受剂量(MTD,maximum tolerable dose)时以爬坡试验“3+3”设计应用为广泛,即每次进入试验过程的一组受试者都是3名,某剂量水平最多6名受试者服用药物。爬坡试验设计整体剂量爬升规则又可以分为TER策略(traditional escalation rules)与STER 策略(strict traditional escalation rules)两种不同的剂量爬升策略。TER策略与STER策略的最大区别仅仅在于:当在\(x_{j}\)剂量水平探测到受试药物毒性响应时,遵循TER剂量爬升策略的Ⅰ期临床试验并不允许在\(x_{j-1}\)剂量水平继续纳入受试者进行试验,而要求直接停止试验,此时认为剂量水平\(x_{j}\)为预期的目标剂量水平。而遵循STER剂量爬升规则的临床试验则要求在\(x_{j-1}\)剂量水平继续纳入受试者进行试验,以观察\(x_{j-1}\)剂量水平受试者整体的毒性反应,从而才能推断目标剂量。相对于TER规则而言,遵循STER规则的Ⅰ期临床试验获得的目标剂量更加保守,使得目标剂量被高估的可能性降低。在评价研发药物安全性、探索药物毒性指标MTD的Ⅰ期临床试验中,这一点就显得更加重要,使得STER 规则的应用更加广泛 。

A+B TER策略设计的样本量可依据\[N_{j}=\sum_{i=0}^{n-1}N_{ji}P_{i}^{*}\]进行估计,其中\[N_{ji}= \begin{cases} \frac{AP_{0}^{j}+(A+B)Q_{0}^{j}}{P_{0}^{j}+Q_{0}^{j}}& \text{if }j< i+1\\ \frac{A(1-P_{0}^{j}-P_{1}^{j})+(A+B)(P_{1}^{j}-Q_{0}^{j})}{1-P_{0}^{j}-Q_{0}^{j}}& \text{if } j=i+1 \\0 & \text{if } j>i+1 \end{cases}\],\[P_{0}^{j}=\sum_{k=0}^{C-1}\bigl(\begin{smallmatrix}\\ A\\k\end{smallmatrix}\bigr)p_{j}^{k}(1-p_{j})^{A-k}\],\[Q_{0}^{j}=\sum_{k=C}^{D}\sum_{m=0}^{E-k}\bigl(\begin{smallmatrix}\\ A\\k\end{smallmatrix}\bigr)p_{j}^{k}(1-p_{j})^{A-k}\bigl(\begin{smallmatrix}\\B\\m\end{smallmatrix}\bigr)p_{j}^{m}(1-p_{j})^{B-m}\],\[P_{n}^{*}=\prod _{j=1}^{n}(P_{0}^{j}+Q_{0}^{j})\]

A+B STER策略设计的样本量可依据\[N_{j}=N_{jn}P_{n}^{*}+\sum_{i=0}^{n-1}\sum_{k=i+1}^{n}N_{jik}P_{ik}\]进行估计,其中\[N_{jik}= \begin{cases} \frac{AP_{0}^{j}+(A+B)Q_{0}^{j}}{P_{0}^{j}+Q_{0}^{j}}& \text{if }j< i\\ A+B & \text{if }i\leq j<k\\ \frac{A(1-P_{0}^{j}-P_{1}^{j})+(A+B)(P_{1}^{j}-Q_{0}^{j})}{1-P_{0}^{j}-Q_{0}^{j}}& \text{if } j=k \\0 & \text{if } j>k \end{cases}\],\[P_{i}^{*}=\sum _{k=i+1}^{n}p_{ik}\],\[p_{ik}=(Q_{0}^{i}+Q_{0}^{i})(1-P_{0}^{k}-Q_{0}^{k})\left (\prod_{j=1}^{i-1}(P_{0}^{j}+Q_{0}^{j}) \right )\prod_{j=i+1}^{k-1}Q_{2}^{j}\],\[P_{n}^{*}=\prod _{j=1}^{n}(P_{0}^{j}+Q_{0}^{j})\]

例 爬坡试验“3+3”设计,根据预试验某抗肿瘤药物7种剂量(10 15 23 34 51 76 114)的剂量限制性毒性分别为0.01 0.014 0.025 0.056 0.177 0.594 0.963,请估计每种剂量的样本量?

DLT=c(0.01,0.014,0.025,0.056,0.177,0.594,0.963)
# 3+3 TER策略设计
AB.withoutDescalation(A=3,B=3,C=1,D=1,E=1,DLT=DLT)
## [1] 3.081e+00 3.122e+00 3.232e+00 3.658e+00 3.533e+00 2.449e-01 9.619e-06
# 3+3 STER策略设计
AB.withDescalation(A=3,B=3,C=1,D=1,E=1,DLT=DLT)
## [1] 5.31263 6.36180 7.49008 8.26563 7.34913 3.16896 0.02163

微阵列研究(Microarray Studies)

微阵列数据样本含量较小,而变量数非常多,传统的t检验和Wilcoxon检验在应用时需要进行调整,为克服多重比较的问题,按控制指标可分为控制FWER(family-wise error rate ,族错误率), 控制FDR(fasle discover rate , “错误发现率”) 等;按控制的操作程序可分为:单步(single-step)法 , 逐步(step-wise)法,基于再抽样(resampling -based)的方法等;按学派主要分为频率学派方法和Bayes学派的方法等。

多重检验是传统的多重比较概念的推广,通过对同一问题的多变量反复检验来验证\(H_{0}\)假设,该假设是一系列的假设(a family of hypotheses),并非单一假设,如任意基因的组间表达无差异。

错误发现率(False Discovery Rate)

设同时对m个假设进行检验,其中\(m_{0}\)个是正确的,R表示检验结果为阳性的假设个数,具体如下表

不拒绝\(H_{0}\) \(H_{0}\)
\(H_{0}\)为真 U V \(m_{0}\)
\(H_{1}\)为真 T S \(m-m_{0}\)
合计 m-R R m

其中,m在假设检验前已知,R是可观察的随机变量,而U、V、S、T是不可观察的随机变量,FDR的定义为\[FDR= \begin{cases}E(V/R) & \text{if } R \neq \\0 & \text{if } R=0\end{cases}\],即为拒绝\(H_{0}\)的结果中错误这所占的比例。 FDR设计,单侧固定效应检验样本量估计公式为\[n=\begin{bmatrix}\frac{(z_{\alpha ^{*}}+z_{\beta ^{*}})^{2}}{a_{1}a_{2}\delta ^{2}}\end{bmatrix}+1\]其中\(\alpha ^{*}=\frac{r_{1}f}{m_{0}(1-f)}\),\(\beta ^{*}=1-r_{1}/m_{1}\),\(a_{2}=1-a_{1}\)。f为错误发现率,\(r_{1}\)为是实际拒绝的数量,\(a_{k}\)为两组分配比,m为测试基因的总数,\(m_{1}\)为预后基因的数量,\(\delta_{j}\)预后基因效应的大小。单侧可变效应检验需解\[h(n)=0\]这个方程,其中\(h(n)=\sum _{j\in M_{1}}\Phi (z_{\alpha ^{*}}-\delta _{j}\sqrt{na_{1}a_{2}})-r_{1}\),\(a^{*}=r_{1}f/{m_{0}(1-f)}\)

例 设计一个4000个候选基因的微阵列(m=4000)研究,预计两组之间有40(\(m_{1}\)=40)个不同表达的基因,实际拒绝基因数约为24(\(r_{1}\)=40),单侧固定效应设计,预计错误发现率为0.01,在\(\delta=1,a_{1}=a_{2}=0.5\)时,需要多少样本量?

OneSide.fixEffect(m=4000,m1=40,delta=1,a1=0.5,r1=24,fdr=0.01)
## [1] 68

每组需要34例。

例 设计一个4000个候选基因的微阵列(m=4000)研究,预计两组之间有40(\(m_{1}\)=40)个不同表达的基因,实际拒绝基因数约为24(\(r_{1}\)=40),单侧可变效应设计,预计错误发现率为0.01,\(\delta_{j}= \begin{cases} 1& \text{if } 1\leq i \leq 20\\ 1/2& \text{if } 21\leq i \leq 40\end{cases}\),\(,在\)a_{1}=a_{2}=0.5$时,需要多少样本量?

delta=c(rep(1,40/2),rep(1/2,40/2))
OneSide.varyEffect(100,150,4000,40,delta,0.5,24,0.01)
## $s1
## [1] 147.7
## 
## $s2
## [1] 148.4
## 
## $`h(s1)`
## [1] -0.03677
## 
## $`h(s2)`
## [1] 0.02012

每组需要74例。

双侧固定效应检验样本量估计公式为\[n=\begin{bmatrix}\frac{(z_{\alpha ^{*}/3}+z_{\beta ^{*}})^{2}}{a_{1}a_{2}\delta ^{2}}\end{bmatrix}+1\],其中其中\(\alpha ^{*}=\frac{r_{1}f}{m_{0}(1-f)}\),\(\beta ^{*}=1-r_{1}/m_{1}\)。双侧可变效应检验需解\[h(n)=0\]这个方程,其中\(h(n)=\sum _{j\in M_{1}}\Phi (z_{\alpha ^{*}/2}-|\delta| _{j}\sqrt{na_{1}a_{2}})-r_{1}\),\(a^{*}=r_{1}f/{m_{0}(1-f)}\)

例 设计一个4000个候选基因的微阵列(m=4000)研究,预计两组之间有40(\(m_{1}\)=40)个不同表达的基因,实际拒绝基因数约为24(\(r_{1}\)=40),双侧固定效应设计,预计错误发现率为0.01,在\(\delta=1,a_{1}=a_{2}=0.5\)时,需要多少样本量?

TwoSide.fixEffect(m=4000,m1=40,delta=1,a1=0.5,r1=24,fdr=0.01)
## [1] 73

每组需要36.5例。

例 设计一个4000个候选基因的微阵列(m=4000)研究,预计两组之间有40(\(m_{1}\)=40)个不同表达的基因,实际拒绝基因数约为24(\(r_{1}\)=40),双侧可变效应设计,预计错误发现率为0.01,\(\delta_{j}= \begin{cases} 1& \text{if } 1\leq i \leq 20\\ 1/2& \text{if } 21\leq i \leq 40\end{cases}\),\(,在\)a_{1}=a_{2}=0.5$时,需要多少样本量?

delta=c(rep(1,40/2),rep(1/2,40/2))
TwoSide.varyEffect(s1=100,s2=200,m=4000,m1=40,delta=delta,a1=0.5,r1=24,fdr=0.01)
## $s1
## [1] 163.3
## 
## $s2
## [1] 164.1
## 
## $`h(s1)`
## [1] -0.01349
## 
## $`h(s2)`
## [1] 0.03742

每组需要82例。

非参数检验(Nonparametrics)

非参数检验不依赖参数进行的假设检验。适用于未知分布型、偏态资料、等级性资料等的假设检验。非参数检验在应用上无严格的限制条件,适用范围广,对数据的要求不像参数检验那样严格。

单组位置检验(One-Sample Location Problem)

单组位置检验样本量估计公式为\[n=\frac{(z_{1-\alpha /2}\sqrt{12}+z_{1-\beta }\sqrt{p_{3}+4p_{4}-4p_{2}^{3}})^{2}}{1/4-p_{2}}\],其中\(p_{2}=P(|z_{i}|>=|z_{j}|,z_{i}>0)\),\(p_{3}=P(|z_{i}|>=|z_{j1}|,|z_{i}|>=|z_{j2}|,z_{i}>0)\),\(p_{4}=P(|z_{j1}|>=|z_{i}|>=|z_{j2}|>=0,z_{i}>0)\)

例 某预防更年期骨质疏松症药物,进行单组位置检验,根据5例的预试验,\(p_{2}=0.3,p_{3}=0.4,p_{4}=0.05\),在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

(Nonpara.One.Sample(0.05,0.2,0.3,0.4,0.05))
## [1] 382.7

需要383例。

两组位置检验(Two-Sample Location Problem)

两组位置检验样本量估计公式为\[n_{2}=\frac{(z_{1-\alpha/2}\sqrt{\kappa(\kappa+1)/12}+z_{1-\beta}\sqrt{\kappa^{2}(p_{2}-p_{1}^{2})+\kappa(p_{3}-p_{1}^{2})})^{2}}{\kappa^{2}(1/2-p_{1})^2}\],其中\(n_{1}=\kappa n_{2}\),\(p_{1}=P(y_{i}>x_{i})\),\(p_{2}=P(y_{i}\geq x_{j1} \sim and \sim y_{i}\geq x_{j2})\),\(p_{3}=P(y_{i1}\geq x_{j} \sim and \sim y_{i2}\geq x_{j})\)

例 某降低胆固醇药物,进行两组平行对照位置检验,根据预试验,\(p_{2}=0.7,p_{3}=0.8,p_{4}=0.8\),在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

(Nonpara.Two.Sample(0.05,0.2,1,0.7,0.8,0.8))
## [1] 53.5

需要53例。

独立性检验(Test for Independence)

独立性检验样本量估计公式为\[n=\frac{4(z_{1-\alpha}/3+z_{1-\beta}\sqrt{2p_{2}-1-(2p_{1}-1)^{2}})^{2}}{(2p_{1}-1)^2}\],其中\(p_{1}=P((x_{1}-x_{2})(y_{1}-y_{2})>0)\),\(p_{2}=P((x_{1}-x_{2})(y_{1}-y_{2})(x_{1}-x_{3})(y_{1}-y_{3})>0)\)

例 某预试验中观察到,随着x变量增大,y变量也有增大的趋势,设计一临床试验,以验证以上猜想。根据预试验,\(p_{1}=0.6,p_{2}=0.7\),在\(\alpha=0.05,\beta=0.20\)时,需要多少样本量?

(Nonpara.Independ(0.05,0.2,0.6,0.7))
## [1] 134.2

需要134例。

其他研究(Sample Size Calculation in Other Areas)

QT/QTc

QT间期是指心室去极化和复极化的时程,即QRS波群的起点到T波恢复到基线时终点的时程。心脏复极化延迟将产生特殊的心脏电生理环境,这种环境下,容易发生心律失常,最常见的是引发尖端扭转型室性心动过速(TdP),但也可发生其它类型室性快速心律失常。由于QT间期延长的程度可被看作是一个致心律失常危险性的相对的生物标记,通常QT间期延长与TdP之间存在一种定性关系,对于那些可能引发QT间期延长的药物更是如此。由于QT间期与心率呈负