搜档网
当前位置:搜档网 › 四格表指标统计分析报表的SAS宏程序_邹建东

四格表指标统计分析报表的SAS宏程序_邹建东

r

设计#统计#方法

r

中国临床药理学与治疗学

中国药理学会主办

CN 34-1206P R,ISSN 1009-2501

http:P P w ww.DrugChina.ne t 2005Mar;10(3):357-360

2005-01-24收稿 2005-03-19修回

科技部/临床试验关键技术及平台研究0课题资助(l 2004AA2Z3766)邹建东,男,博士研究生,主要从事临床试验数据统计分析。Tel:025-******** E -mai l:jssz yyjd@jlonli https://www.sodocs.net/doc/e314794119.html,

熊宁宁,通讯作者,男,教授,主任医师,博士生导师,主要从事临床药理研究。Tel:025-********

E -mai l:xi ongnin@public1.ptt.js.c n

四格表指标统计分析报表的SAS 宏程序

邹建东,熊宁宁,卜擎燕,蒋萌,刘芳

南京中医药大学附属医院国家药品临床研究基地,南京210029,江苏

摘要 为规范临床试验数据管理,简化程序并减少数据统计分析过程中的错误来源,我们编制了一些特定的SAS 宏程序,可以直接输出临床试验四格表指标统计分析报表。

关键词 临床试验;四格表指标;统计分析报表;SAS 宏程序中图分类号:R311文献标识码:A

文章编号:1009-2501(2005)03-0357-04

目前国内临床试验中,较多的统计学专业人士推崇使用美国著名软件SAS 进行统计分析,但其输出的报告往往不能被直接使用,为使统计工作简化并减少人为转抄引起的错误,我们编制了一些特定的SAS 宏程序,直接输出简明的新药临床试验统计分析报表。

1 举例与报表格式

在新药临床试验中,四格表资料以频数进行描述。两组对比分析则有卡方检验、校正的卡方检验及确切概率法等,其条件分别为:

1.当n \40且T \5时,用普通的卡方检验,若所得P U A ,改用确切概率法;

2.当n \40但1[T [5时,用连续性校正的卡方检验或改用确切概率法;

3.当n<40或T<1时,改用确切概率法。

本文描述了直接输出临床试验四格表指标统计分析报表的SAS 宏程序。举例如表1所示。

表1 两组治疗前临床一般资料报告(FAS)指标项A 组B 组卡方值

P 值

病程

例数(缺失)310(6)103(5) 1d P 例(%)141(46)49(48)0.14

0.7125

1~2d P 例(%)169(54)54(52)合并症

例数(缺失)316(0)

108(0)

-0.5739

无P 例(%)313(99)108(100) 有P 例(%) 3(1.0) 0(0.0)舌质

例数(缺失)

316(0)

108(0)

0.19

0.6625

舌边尖红P 例(%)307(97)104(96) 其它P 例(%) 9(2.8) 4(3.7)

合并症比较用精确概率法

本文为直接得到这个统计分析报表,编写SAS 宏程序。

2 定义宏及宏变量

在该宏程序中设置4个宏变量,统计集为

&database ,统计的变量为&var ,统计的变量输出格式定义为&varfm t ,输出的项目名为&index 。%m acro chisq (database =,var =,varfm t =,in -dex =);

3 生成描述性统计的结果

利用output 语句将描述性统计结果输出到指定的SAS 数据集中。

P *因ODS 语句只能输出总的缺失例数,而不是分组的缺失例数,故利用freq 程序输出描述性结果到TabFreq 数据集*P

proc freq dat a =&dat abase .noprint ;tables &var .*group P out =TabFreq ;

#

357#

run;

P*将两对比组的缺失例数分别输出到独立的数据集m a和m b中*P

dat a m a(where=(group=/A0))m b(where =(group=/B0));

set T abFreq(keep=&var.group COUN T);

where&var.=.;

run;

4生成对比统计的结果

利用SAS的ODS功能将对比统计结果输出到指定的SAS数据集中。

P*利用ODS输出描述性结果到CrossTabFreqs 数据集,对比统计的结果到数据集chisq,FishersExact *P

ods listing close;

ods output CrossTabFreqs=CrossTabFreqs

chisq=chisq

FishersE xact=FishersExact;

proc freq data=&database.;

t ables&var.*group P chisq exact expected nopercent norow;

run;

ods listing;

P*自CrossT abFreqs数据集中生成理论频数的数据集,并将其排序*P

proc sort out=EXPECTED(keep=EXPECTED) dat a=CrossTabFreqs(where=(EXPECTED< >.));

by E xpected;

run;

P*自理论频数数据集中取出最大理论频数值,输出到数据集T中*P

dat a T(keep=T);

set EXPE CTED;

if n=1then T=EXPECTED;

if T=.then delete;

run;

P*自CrossT abFreqs数据集中生成例数的数据集,并将其排序*P

proc sort out=Frequency(keep=Frequency) dat a=CrossTabFreqs;

by descending Frequency;

run;

P*自例数数据集中取出例数,输出到数据集n 中*P

data n(keep=n);

set Frequency;

if n=1then n=Frequency;

if n=.then delete;run;

run;

P*自chisq数据集中生成普通卡方检验的统计量和P值的数据库*P

data chisq1(keep=V alue1Prob1);

set chisq(renam e=(V alue=V alue1Prob= Prob1));

where(St atistic=(.Ch i-S quare.)|Statistic=(.卡方.));

run;

P*自chisq数据集中生成连续校正卡方检验的统计量和P值的数据库*P

data chisq2(keep=V alue2Prob2);

set chisq(renam e=(V alue=V alue2Prob= Prob2));

where(Statistic=(.Continuity Adj.Chi-Squ are.)|Statistic=(.连续校正卡方.));

run;

P*自Fishersexact数据集中生成精确概率法P 值的数据库*P

data Fishersexact(keep=cV alue1);

set Fishersexact;

where(N am e1=(.XP2FISH.));

run;

P*合并结果,并定义统计量格式*P

data st(keep=m a m b n T Value1P rob1V alue2 Prob2cValue1&var.c);

merge m a(renam e=(COUN T=m a))mb(re-n ame=(COUN T=m b))n T chisq1chisq2Fisher-sexact;

&var.=-99;

if m a=.then m a=0;

if mb=.then m b=0;

form at Value16.2V alue26.2;

run;

data out a(where=(group=/A0))outb( where=(group=/B0));

set CrossTabFreqs;

form at ColPercent6.2;

#

358

#Chin J Clin Pharmacol Ther2005Mar;10(3)

run;

dat a outt(drop=t able group TYPE TABLE Expected M issing);

m erge out a(ren ame=(Frequency=A ColP er-cent=percentA))

outb(ren am e=(Frequency=B ColPercent= percentB));

if&var.=.then&var.=-99;

run;

proc sort;by&var.;run;

5生成打印结果的数据集

合并描述性结果和统计量和P值的数据集,生成自动选择打印的数据集,并定义打印输出格式。

dat a null;

file print notitle;

m erge outt st;

if&var.=-99then do;

if n<40or T<1or0.0450

put@3/&index.0@70.精确概率法.@85.P =.cValue1;

end;

else if n>=40and1<=T<=5then do;

put@3/&index.0@66.校正chisq=.V alue2 @85.P=.Prob2;

end;

else if n>=40and T>=5then do;

put@3/&index.0@70.chisq=.Value1@85 .P=.Prob1;

end;

put@5/例数(缺失)0@22A.(.M A.).@47 B.(.MB.).;

end;

else do;put@5&var..(例,%).@22A.(. PercentA.).@47B.(.PercentB.).;

form at&var.&varfm t..;

end;

run;

6删除程序中生成的临时数据集

proc dat asets;delete chisq ch isq1chisq2 Crosstabfreqs E xpected Fishersexact

Frequency M a M b N Out a Outb Outt st stt t Tabfreq;quit;

%m end chisq;P*宏结束*P

7其它辅助程序

%m acro ctit(tit);P*定义表头*P

data null;

file print n=ps notitles;

put#1@5/&tit0

#2@290*.-.

#3@3.指标项.@22.A组.@47.B组.@ 72.统计量.@87.P值.

#4@290*.-.;

run;

%m end ctit;

%m acro cleg;P*定义表格底线*P

data null;

file print n=ps notitles;

put#1@290*.-.;

run;

%m end cleg;

8运行宏程序

根据统计表格的设计,设定宏变量,运行宏程序。

proc form at;

value coursefm t1=.1天.2=.1~2天.;

value linguafm t1=.舌边尖红.2=.其它.;

value Infm t0=.无.1=.有.;

run;

%ctit(表1:两组治疗前临床一般资料报告);

%chisq(database=f as,var=course,varfm t= coursefm t,index=病程);

%chisq(database=f as,var=In Disease, varfm t=Infmt,index=合并症);

%chisq(dat abase=f as,var=lingu a,varfm t= linguafm t,index=舌质);

%cleg;

将以上SAS宏程序提交SAS系统运行,即可得到表1的统计分析表。其中变量group为分组,In Disease表示合并症,course表示病程,lingua表示舌质,假定数据集为fas。

#

359

#

中国临床药理学与治疗学2005Mar;10(3)

参考文献

1高慧璇,李贵斌,耿直,主编.SAS系统Base SAS软件使用

手册[M].第1版.北京:中国统计出版社,2001:323-41 2The Complete Guide to the SAS Ou tput Delivery System[CP P CD].SAS Institute Inc,1999

Designing of SAS macro programs of fourfold table for report forms of statistical results

ZOU Jian-dong,XIONG Ning-ning,BO Qing-yan,JIANG Meng,LIU Fang

National Base f o r Drug Clinical Trial,Affiliated Hospital o f Nanjing University o f Chinese Medicine,Nanjing210029, Jiangsu,China;1the Third Hospital Affiliated to Nanjing University o f Chinese Medicine,Nanjing210001,Jiangsu, China

ABSTRAC T In the statistical analysis of fourfold table in clinical trial,we design some SAS macro progra ms to output the report forms of statistical results in this paper.KEY WORDS clinical trail;fourfold table;report form;SAS macro program

#

360

#Chin J Clin Pharmacol Ther2005Mar;10(3)

相关主题