随机化临床试验及随机化的SAS实现
关键词 临床试验 随机化 SAS 随机对照临床试验
中图分类号 R965.2
从科学的观点来看,临床试验中有足够样本含量的随机化、对照、盲法临床试验是最理想的研究设计。不采用随机化和盲法设计,当临床医生对某种疗法偏爱或厌恶时,会有意无意地影响试验效应的判定,甚至剔除某些对象或改变对象处理安排,给试验带来偏倚,难以保证结果的可靠性。目前临床试验中最多采用的是多中心、随机、对照、平行、双盲试验。随机化保证了研究对象有相同的机会进入处理组或对照组,但并不是所有的随机化方案都是等效的。有些研究人员自称的随机方案其实并不是真正的随机,不能有效地控制偏倚。一些时有报道使用的交替分配、表格号码(奇或偶)或出生日期等分配方法,貌似随机,可能并未真正随机。这些方法会潜在影响分配决定,因为负责分配病人的调研人员可能会事先知道下一个处理是什么,从而决定病人是否进入研究或根据自己对处理的偏好来分配病人;另外,这样的分配有时还会和病人自身的某些规律暗合,因而这些都不是真正的随机方案。洗牌、抛硬币等方法尽管是随机的,但不能检查或重复。使用随机数字表、随机排列表是很好的方法,因为表中的数字是经过随机产生后定下来的,因此可以重复,但较为麻烦,对于样本量较大的临床试验,也很费时。在目前计算机应用非常普及的情况下,用统计软件中的随机化功能,事先给出种子数,进行随机化,既简单,又可重复,符合随机化要求,应予提倡。本文介绍用SAS系统实现临床试验随机化的方法,并兼论随机化试验的盲法及伦理问题。
1 简单随机化
可采用SAS系统的PROC PLAN SEED=n过程或UNIFORM(n)函数来实现。
例1:对120例病人随机分成两个等比例组,使每组为120例。
1.1 用PROC PLAN过程进行随机化 用PROC PLAN过程实现两组等比例随机化的SAS程序见程序1。
程序1 用PROC PLAN过程实现两组等比例随机化的SAS程序:
PROC PLAN SEED=210002;
FACTORS n=240; OUTPUT OUT=aaa;
DATA bbb; SET aaa; number=_n_;
IF n<=120 THEN group=’A’;ELSE group=’B’;
PROC PRINT NOOBS;
VAR number group;
RUN;
程序1所列程序先在PROC PLAN语句中给定种子数SEED,本例为210002,通过FACTORS产生1~240之间随机排列的数列,并将结果输出至aaa数据集中,然后用条件语句产生以n为条件的分组结果A和B。用PROC PRINT语句输出VAR后指定的变量值结果,本例的number和group分别对应为序号1~240和组别A、B。事实上,通过改动上述的IF、THEN、ELSE条件语句可很容易实现非等比例或多组的随机化。
1.2 用UNIFORM函数进行随机化 用UNIFORM随机化函数实现两组等比例随机化的SAS程序见程序2。
程序2 用UNIFORM函数实现两组等比例随机化的SAS程序:
DATA ccc;
DO number=1 to 240;
r=UNIFORM(210002);OUTPUT;
END;
PROC RANK data=ccc OUT=ddd;
RANKS r_rank; VAR r;
DATA eee; SET ddd;
IF r_rank<=120 THEN group=’A’;
ELSE group=’B’;
PROC PRINT NOOBS;
VAR number group;
RUN;
程序2程序中语句r=UNIFORM(210002)根据DO循环确定的次数产生240个0至1之间均匀分布的伪随机数,用PROC RANK过程求出各数对应的秩次,再用条件语句产生以秩次为条件的分组结果A和B。
2 区组随机化
区组随机化(block randomization),也叫均衡随机化、伪随机化或限制性随机化。它和简单随机化(simple randomization)相比,可以确保整个试验期间进入每一组的对象数基本相等。这样做不仅提高了统计学效率,而且保证了分配率不存在时间趋势,即使因为某种原因病人预后存在时间趋势,也能将偏倚减少到最小。因而区组随机化是理想的随机化方法。
区组随机化要先确定区组中对象的数目,即区组长度(block length),然后将对象在区组内按事先确定的分配比例进行随机分配。例如,某试验欲分为两个例数相等的组,只要保证每一区组中两组例数各占一半,则整个试验必然能保证两组例数相等。区组长度一般取4-10为好。
例2:对240例病人按区组随机化方法分成两个等比例组,使每组为120例。
2.1 用PROC RANK过程进行区组随机化 程序3列出了用PROC RANK过程实现两组等比例分配区组随机化的SAS程序。
程序3 用PROC RANK过程实现区组等比例随机化的SAS程序:
PROC PLAN SEED=210002;
FACTORS block=40 length=6; OUTPUT OUT=fff;
DATA ggg; SET fff; number=_n_;
IF length <=3 THEN group=’A’;
ELSE group=’B’;
PROC PRINT NOOBS;
VAR number group;
RUN;
本例结果达到对240例病人的等比例随机化分组,区组长度取6,分为40个区组,可保证每6个病人中有3例分在试验组,3例分在对照组。
2.2 用UNIFORM函数进行区组随机化 用UNIFORM随机化函数实现两组等比例区组随机化的SAS程序见程序4。
程序4 用UNIFORM随机化函数实现区组等比例随机化的SAS程序:
DATA hhh;
DO block=1 to 40; DO length=1 to 6;
r=UNIFORM(210002); OUTPUT;
END;END;
DATA iii; SET hhh; number=_n_;
PROC RANK OUT = jjj;
RANKS r_rank; VAR r;
BY block;
DATA kkk; SET lll;
IF r_rank <=3 THEN group=’A’;
ELSE group=’B’;
PROC PRINT NOOBS;
VAR number group;
RUN;
区组随机化能确保在试验的任何阶段基本保持一致的分配比例,不会有大的偏离,但简单随机化则不然。从表1列出的每60例病人的分配结果容易看出两组的比例在不同的编码段相差较为明显,尤其以UNIFORM函数法结果的平衡性更差。
表1 两种简单随机化方法不同编码段的随机化分配情况
PROC PLAN 法 UNIFORM函数法
编码范围 A组:B组 A组:B组
1-60 23:37 21:39
61-120 32:28 27:33
121-180 33:27 42:18
181-240 32:28 30:30
3 分层区组随机化
在多中心试验中,区组随机化可以按中心分层进行,又称为分层的区组随机化。目前临床试验中普遍推荐使用该方法。实现该种随机化的方法是在程序3区组随机化SAS程序的基础上增加一个分层因素即可。例如,对240例进行4个中心(分层)的区组随机化,可使用以下语句:
FACTORS center=4 block=10 length=6;
也可以在程序4区组随机化SAS程序基础上增加一个分层因素实现分层区组随机化。
4 随机化的其他几种情形
4.1 按多个因素分层的区组随机化 临床试验中有时分层的因素可能不止1个,例如在某抗生素的临床试验中,除了按中心进行分层外,还要求按病种分为呼吸系统感染和泌尿系统感染两层,此时可进行两次按中心分层的区组随机化,两次取不同的种子数。
4.2 各中心例数不等的分层区组随机化 实际中医院承担的例数可能不同,可按不同的医院分别进行区组随机化,分别给定种子数。
4.3 随机化确定各中心接收的编码分段 先将若干个参加医院按一定顺序排列,然后采用SAS系统中的随机函数UNIFORM(n)产生相应的随机数,对该随机数由小到大排序,以秩次号作为选取各医院对应的分段号的依据。表2列出某次临床试验的H1、H2、H3、H4四家医院随机化编号结果。
表2 各医院随机化编号结果
医院名称 编码分配 医院编号
H1 121-180 3
H2 181-240 4
H3 1-60 1
H4 61-120 2
4.4 确定药物编码的随机化 用SAS系统中的随机函数UNIFORM(n)分别产生试验组和对照组的随机数,如试验组随机数大于对照组随机数,则试验组以A作为代码,对照组以B作为代码,否则试验组为B,对照组为A。
5 盲法运用于随机化试验的必要性
在任何临床试验中,偏倚都是一个主要的问题,偏倚可产生于临床试验从研究的设计到资料的分析和解释的任何阶段。随机化临床试验中控制偏倚的常用方法是采用盲法(blinding)。盲法可以用在随机化过程、处理的管理以及结局的确定、分类和评价上。
随机化一定要配合使用盲法才能真正地减少偏倚。研究人员、效应评定人员和研究对象必须猜不出下一个是哪种处理。有若干种方法可以使研究人员、临床医生和研究对象不知道处理分配的随机方法,目前随机双盲试验中最多用的是,将药物事先包装好,编上号,连续地按号码给病人用药。
只有研究对象不知道处理分配时称为单盲;研究对象和研究人员都不知道处理分配时称为双盲;因为研究人员和研究对象对于试验可能都会有强烈的愿望或偏见,如果不采取预防措施,很容易产生偏倚。
研究对象不清楚处理分配是非常必要的,尤其是当对象知道了自己用的是何种方法会失去信心而不依从乃至想退出研究,盲法就更为需要。研究人员不清楚处理分配也很重要,如知道了病人用的是可能不太有效的疗法,研究人员可能会采取一些补偿性的措施从而破坏了研究。
研究对象和效应评定者不知道结局至关重要,特别是当结局是主观指标时。但在有些情况下,结局的盲法是不可能的(如死亡)。知道了预期结局的对象比不知道的对象倾向于报告支持预期结局的信息;对试验结论有偏见的效应评定者会倾向于诊断出模棱两可的症状和情况,以使结局符合他们对新方法的期望。
一些具体的盲法技术如处理编码、双盲双模拟技术、胶囊技术、药品的包装技术、应急信件、揭盲等可参考有关的文献介绍。
当然,在有些试验,并不是所有的盲法都能做到。例如,比较手术疗法和药物疗法,外科医生和病人不知道处理是不可能的。这种情况下,使效应评定者不知道处理是最适当的办法。
6 关于盲法随机化试验的伦理道德问题
好的随机化对照临床试验能得出科学、可靠、有用且可重复的结果。在对处理的选择存在不同意见或出现争执时,一项实施与分析解释得比较好的随机化对照临床试验有助于公平确定哪种处理最好。从这种意义上讲,不用随机化临床试验来解决重要的医学问题才是不道德的。总之,进行随机化临床试验前,要认真考虑伦理道德问题。有很多需要做而没有做的随机化临床试验,就是因为有证据说明存在伦理道德问题,这些证据往往包括临床印象、无说服力的小型研究或仅仅是存在偏倚等。换句话说,对伦理道德的考虑给不做随机化临床试验提供了正当理由,而不做随机化临床试验的行为恰恰是不道德的。
转载请注明:数据分析 » 随机化临床试验及随机化的SAS实现_随机对照临床试验