
第四节 随机化方法
随机化的方法有很多,如抽签、掷骰子、抽牌、摇号、摸球和查随机数字表等。目前各种计算机软件都是使用数学方法在计算机中产生随机数,这种方法产生的随机数,具有类似于均匀随机变量的独立抽样的性质,目前这种方法已经非常成熟,能够保证产生的随机数有很好的随机性和均匀性。但是需要特别说明的是,用数学方法产生的随机数不是真正意义的随机数,通常称为伪随机数。
随机化分组方法有抽签法和随机数字表法。前者简单易行,但不适用于观察对象较多的样本。后者以“随机数字表”为工具,它是统计学家根据随机抽样原理编制的。随着计算机及统计软件的普及,目前普遍推荐的方法是用计算机进行随机化,它有使用方便和可重现的优点。
一、随机分组的基本步骤
1.将实验对象编号。动物可按体重大小,患者可按就诊顺序等。
2.取随机数。得到随机数的方法很多,如抽签、掷骰子、抽牌、查随机数表及利用计算机产生随机数。
3.对产生的随机数进行排序。按从小到大的顺序进行排序。
4.将前n1个实验对象分到第一组,其后n2个实验对象分到第二组,以此类推。
5.最后再按实验对象编号排序。
二、软件的随机化实现
例2-1
将18例患者随机分为三组,每组各6例。
1.CHISS统计分析软件(以下简称为“CHISS软件”)实现随机化分组
进入CHISS软件,点击“设计”按钮,此时在主菜单中出现“实验设计”的选项,点击“实验设计”→“设计方案”就可以看到CHISS软件中随机化分组的全部功能,如图2-1。

图2-1 CHISS软件中随机分组菜单系统
点击“完全随机分组”将会出现完全随机分组的对话框,在检验样本总例数的位置填入“18”,处理组数选择“3”,随机数种子的位置填入种子数,本例选“13579”,通常可用随机分组的日期和时间作为种子数,根据实际需要修改各组的例数,如图2-2。此时点击“确定”可将结果输出到结果编辑窗口,如表2-1。
可以看出编号为1,2,3,4,12,16 的患者被分配到第一组,编号为 5,8,11,13,15,18的患者被分配到第二组,编号为6,7,9,10,14,17的患者被分配到第三组,见表2-1。

图2-2 CHISS软件中完全随机分组对话框
表2-1 完全随机设计编号分组结果

2.SAS 9.4版(以后例题均采用此版本分析)软件实现随机化分组
采用proc plan语句,给18例患者通过随机数分配号码1~18,输出至数据集rat。

结果如图2-3,n为每一个患者对应分配的号码。

图2-3 SAS软件中完全随机分配号码
将上述数据集rat里的变量n读入数据集result中,生成变量id为患者的编号,之后通过n的大小将患者分为三组,n为1~6则分配到第一组,n为7~12则分配到第二组,n为13~18则分配到第三组。

输出数据集result中的变量id和group,即为编号1~18患者分配的组,如图2-4。

可以看出编号为3,5,6,12,14,17的患者被分配到第一组,编号为 1,4,7,9,15,16 的患者被分配到第二组,编号为2,8,10,11,13,18的患者被分配到第三组。

图2-4 SAS软件中完全随机设计编号分组结果
3.Stata 15.0版(以后例题均采用此版本分析)软件实现随机化分组的步骤
打开Stata 15.0,在command依次输入下列代码(*为注释内容):
*设置观测值18个
set obs 18
*生成id变量,"_n"表示产生与观测数相对应的id编号
gen id = _n
*设置随机数种子,固定值为13579
set seed 13579
*生成随机数变量r,默认生成(0,1)之间的随机数
gen r = uniform()
*排序r,默认为升序
sort r
*生成group变量,根据r的排序分成3组
gen group = group(3)
*展示含有id和group的表格,如图2-5
list id group
4.SPSS 25.0版(以后例题均采用此版本分析)软件实现随机化分组
首先,将18位患者编号,将1~18设置成ID,如图2-6所示。

图2-5 Stata软件中完全随机设计编号分组结果

图2-6 设置ID变量
第二,设置随机数种子,选择菜单“转换”→“随机数生成器”,将会出现“随机数生成器”对话框,在“活动生成器初始化”选项框中,勾选“设置起点”,选择“固定值”,输入种子数,本例选13579,点击“确定”。如图2-7所示。

图2-7 设置随机数种子
第三,生成随机数,选择菜单“转换”→“计算变量”,将目标变量命名为“随机数”,在函数组中选择“随机数”,函数和特殊变量选择“Rv.Uniform”双击,在数字表达式中范围选择0和1,点击“确定”,对话框如图2-8所示。
生成得到的随机数变量如图2-9所示。
第四,数据编秩,选择菜单“转换”→“个案排秩”,将“随机数”变量作为排秩变量,将秩1赋予“最大值”,点击“确认”。个案排秩对话框如图2-10所示。

图2-8 生成随机数对话框

图2-9 生成的随机数变量

图2-10 个案排秩对话框
生成得到新变量“R随机数”如图2-11所示。
第五,重新分组,选择菜单“转换”→“重新编码为不同变量”,将“R随机数”选为“数字变量”,输出变量命名为“分组”,点击“变量化”,如图2-12所示。

图2-11 得到新的变量

图2-12 重新编码为不同变量的对话框
点击“旧值和新值”,在旧值和新值设置框中,旧值框中选择“范围”,选为“1~6”,将“新值”设为“1”,点击“添加”;旧值框中选择“范围”,选为“7~12”,将“新值”设为“2”,点击“添加”;旧值框中选择“范围”,选为“13~18”,将“新值”设为“3”,点击“添加”,点击“输出变量是字符串”,点击“继续”。对话框如图2-13所示。

图2-13 旧值和新值对话框
点击“确定”,生成得到的新变量如图2-14所示。
可以看出编号为 4,6,8,9,12,17的患者被分配到第一组,编号为7,10,13,14,15,18的患者被分配到第二组,编号为1,2,3,5,11,16的患者被分配到第三组。

图2-14 SPSS统计分析软件中完全随机设计编号分组结果
使用计算机进行随机化的条件是,要有能够产生随机数的程序,并且产生随机数时应该能够自定义种子数,因为在相同的程序中,如果使用的种子数相同,则产生的随机数序列也是相同的,因此计算机进行随机化的过程是可以重现的。