段 锋 陈本超 朱珍真 陈 贞 孙 斌 张 丽 毕京峰 魏振满
解放军第三〇二医院新药临床试验中心,北京 100039
药物临床试验中的数据管理与统计分析,是保证研究结果科学、可靠的重要环节之一。既往统计报表过程主要采取手工方式,即将统计软件所生成的统计分析结果,应用“复制”、“粘贴”的方法导入到报表之中。由于临床试验往往产生海量的数据,该过程费时费力,且需要耗费大量的时间进行校对,即便如此,仍极易出现错误。近年来随着临床试验的发展,产生了海量的试验数据,这种简单的统计分析方法更无法满足数据统计的需求。基于此,本研究组应用SAS统计分析软件,借助SAS宏语言进行了计算机编程,实现了药物Ⅰ期临床试验分类资料统计分析自动报表,全面提高了临床试验的统计效率,保证了统计分析结果的科学性及可靠性。
以某Ⅰ期药物临床试验的部分性别、民族两个人口学数据为例。本数据选取试验中的两个剂量组进行统计分析,其中1~4号为第一组,5-8号为第二组,具体信息见表1。目的为借助SAS软件实现对试验数据中的性别、民族资料自动生成报表(Excel报表)。见表2。
表1 某Ⅰ期药物临床试验人口学数据
表2 某Ⅰ期临床试验人口学数据统计结果[n(%)]
统计之前,首先将“表1”导入SAS软件,并生成名为SASUSER.SHUJV文件。其基本过程为文件→导入数据→选择数据类型(如Excel)→NEXT→选择表格→OK→NEXT→在Library中选择SASUSER→给文件命名→Finish。
第一步:按剂量组拆分表格
①选择第一组:
data Y1;/*建立表Y1*/
set sasuser.SHUJV(firstobs=1 obs=4);/*选择表SHUJV(即表 1)中的 1~4 行 */run;
②选择第二组:
data Y2;/*建立表 Y2*/
set sasuser.SHUJV(firstobs=5 obs=8);/*选择表SHUJV(即表 1)中的 5~8 行 */run;
第二步:对表中的性别组成进行频数统计
①生成第一组中试验组的性别百分比data A11;/*建立表Y11*/set Y1;/*调用Y1表格*/if GROUP='1';/*如果 GROUP='1',即:选择GROUP='1'的受试者数据*/
if sex=1 then m='男';else m='女';/*如果sex=1,那么令m='男',另外的m='女'*/
proc freq;/*求频数,即:频数统计COUNT和总频数百分比PERCENT*/
tables m/out=B11;/*利用sexm数据建立表B11(即表 3)*/run;
结果为:
表3 第一组中试验组性别统计结果
对所获得的数值保留2位小数,并且定义数据输出的表达格式
data C11;/* 建立表 C11(即表 4)*/
set B11;/*调用表B11*/
percent=round(percent,0.01);/* 定义百分数的长度,0.01是小数点后2位*/
percent11=count||'('||percent||'%)';/*定义百分数的格式*/
drop sex COUNT PERCENT;/*删除 sex COUNT PERCENT列,只保留别定义格式的列percent11*/
在这一步骤中需要注意的是百分数的格式定义,即“count||'('||percent||'%)'”步。 两单引号之间只引符号,“||”的作用是连接编码与符号,这样才会得出所期望的表达结果,即“1(25%)”。
结果为:
表4 第一组中试验组性别定义小数点及数据格式的结果
②生成第一组中对照组的性别百分比
data A12;
set Y1;
if GROUP='2';
if sex=1 then m='男 ';else m='女 ';
proc freq;
tables m/out=B12;
run;
data C12;/*建立表 C12(即表 5)*/
set B12;
percent=round(percent,0.01);
percent12=count||'('||percent||'%)';
drop sex COUNT PERCENT;
结果为:
表5 第二组中对照组性别定义小数点及数据格式的结果
第三步:将试验组、对照组的表格进行横向合并
应用以上两组程序最后统计出的剂量1、2组中的性别表格分别为:C11、C12、C21、C22, 再将 4 个表格进行横向合并,添加统计量标签并定义字段长度。data e1;
e='性别';/*表e1中只有性别,其目的是说明该部分内容是性别部分*/
length e$30;/*$是定义长度的意思,即30个字段*/
data f;/* 建立表 f(即表 6)*/
merge e1 C11 C12 C21 C22;/*表格进行横向合并,e1为变量名*/
rename percent11=shi11 percent12=dui11
percent21=shi12 percent22=dui12;
e=put(e,30.);m=put(m,30.);/* 定义字段长度 */
shi1=put(shi11,30.);dui1=put(dui11,30.);/* 定义字段长度*/
shi2=put(shi12,30.);dui2=put(dui12,30.);/* 定义字段长度*/
run;
此步骤须注意的是定义字段长度和属性,其目的是告诉 SAS 所有的 e、m、shi1、shi1、dui1、dui1 的属性理完全一样的,因为执行SAS的纵向合并命令时,要求纵向合并的内容不光变量名相同,其属性也必须完全一样。如不进行定义,那么当下面两表格纵向合并时结果将会不能全部表达出来,出现遗漏的情况。
结果为:
表6 性别统计结果
同理,民族的统计结果应用以上两组程序最后统计出的剂量1、2组中的性别表格分别为:D11、D12、D21、D22,4个表格进行横向合并,添加统计量标签并定义字段长度。由以上步骤推出,见表7。
表7 民族统计结果
步骤四:对已横向合并后的性别、年龄表格再纵向合并
data j;/* 建立表 j(即表 8)*/
set f g;/* 调用表 f、表 g(即表 6、表 7)*/run;
结果为:
表8 人口学数据统计结果
proc export data=work.h/*输出表格 work.h(表 h即表2)*/
outlife="C:h.xls"/*输出的文件地址及文件名*/
dbms=excel replace;
sheet="h";
run;
在SAS程序中,所设定的变量字段过长,下输出表格“j.xls”多不能完整地表达数据,而在Excel中被多设置出来的字段均由“空格”代替,所以使用“菜单-编辑-替换”这一操作,将“空格”全部替换掉,此法用于批量删除空格。
使用以上操作后即得出所有数据,实现SAS统计分析分类数据的自动报表。
在我国,由于近年临床试验的蓬勃发展,每年有近800多种新药进行药物Ⅰ期临床试验,速度增长达40%[1],并有超过60家跨国企业开展临床试验,涉及人群50万[2]。但是,由于我国药物临床试验起步晚,在数据管理、质量控制、质量保证体系及计算机信息技术的应用方面与国际先进标准仍有较大的差距[3]。因此,必须通过采取严格过程监管、充分保护受试者权益,保证数据可靠等一系列质量提升措施,全面提高药物临床试验质量[4-5]。
科学的统计分析是对试验验药物进行科学评价的关键内容之一。目前统计分析过程多借助软件来完成,如SAS、SPSS、STATA等,而在得到统计分析结果后,如何实现准确无误的统计报表,将研究结果客观、真实地展现研究者及相关评审专家面前,则是临床试验的核心内容。
随着临床试验越来越多的开展,试验数据的增多,应用相关软件实现统计分析自动报表逐渐成为数据管理与统计分析的新方法和新手段。其最大的优点是,省时省力,错误率低,在效率上大大超过了手工操作[6];缺点是编程过程较为复杂,需要一定的编程技巧。如:戎氏借助report、data_null_过程步和宏变量自动生成了统计表格[7];邹建东[8]和许林勇等[9]通过调用相关SAS函数,SAS语句及SAS过程编写宏程序,实现统计分析报告自动报表;童新元等[10]通过调用SAS宏程序,构建了协方差分析的自动报表;薛钧等[11]借助SAS宏程序实现了临床试验数据盲态核查等。
虽然SAS宏程序因具有程序较短、操作简便的巨大优势而为统计专业人士所常用,但对于非专业或初学者来说理解起来比较困难,基于此,本研究从SAS自动报表的基本原理出发,对SAS自动报表过程进行分解讲述,具有浅显易懂、逐步深入的优点,特别适合非统计学专业的临床科研人员或初学者。
[1]杨钊,李春潇,武志昂.关于加强临床试验中受试者权益保护的探讨[J].中国药师,2013,16(4):610-613.
[2]李轩,洪亮,邵蓉.完善我国药物临床试验受试者管理分析[J].现代商贸工业,2013,6:140-142.
[3]彭朋,元唯安,胡薏慧,等.我国药物临床试验质量管理规范实施过程中存在的问题及其对策[J].中国医院药学杂志,2012,32(24):2006-2007.
[4]耿琳,陈云飞,刘华.药物临床试验机构在药物临床试验质量保证体系中的重要作用[J].中国新药与临床杂志,2009,28(10):794-796.
[5]陈舒茵,梁春才,韦斌,等.谈药物临床试验的质量控制[J].中国医药导报,2011,8(31):154-156.
[6]殷红.临床试验中统计分析报告自动化生成的研究与应用[D].上海:复旦大学:殷红,2009:1.
[7]戎芬,贾彬.用SAS的两种不同语句自动生成相同的统计表格[J].现代预防医学,2008,35(24):2-4.
[8]邹建东.四格表指标统计分析报表的SAS宏程序[J].中国临床药理学与治疗学,2005,10(3):357-360.
[9]许林勇,张伟.动态血压监测评价降压药物疗效的谷峰比率的SAS统计自动报表[J].中国临床药理学与治疗学,2010,15(7):798-802.
[10]童新元,张高魁,姚晨.新药临床试验中协方差分析的SAS 统计报表[J].中国临床药理学与治疗学,2004,9(8):958-960.
[11]薛钧,邹建东,熊宁宁.临床研究盲态数据核查常用的SAS 宏程序[J].中国临床药理学与治疗学,2008,13(5):535-540.