临床试验的统计报表问题:四格表指标统计分析报表的sas宏程序

转载 2011年03月20日 20:34:00

声明:本文摘自http://www.mysas.net/forum/viewtopic.php?f=4&t=1896

一般而言,SAS的输出结果要经过编辑才能成为符合统计学要求的统计图表,而制作统计报告的工作量极大,编辑过程也很易出错。如何利用SAS直接产生用户要求格式的统计报告,是值得研究的问题。

为规范临床试验数据管理 ,简化程序并减少数据统计分析过程中的错误来源 ,有必要研究 SAS中的宏问题,来很好地解决这个问题。

以下参考文献是统计学家的一些探索:

定性指标的sas统计分析报表―sas软件在新药临床试验统计分析中的应用(一)
童新元 . 张高魁 . 姚晨. 中国卫生统计 2003年01期


正态分布定量指标统计分析报表的sas宏程序
邹建东. 熊宁宁. 卜擎燕. 蒋萌. 刘芳. 中国临床药理学与治疗学 2004年07期


新药临床试验中协方差分析的sas统计报表
童新元. 张高魁. 姚晨. 中国临床药理学与治疗学 2004年08期


新药临床试验中定量指标的sas统计报表
童新元. 张高魁. 姚晨. 军医进修学院学报 2005年01期


应用sas软件的动态数据交换技术自动生成统计报告
田晓燕. 金丕焕. 张文彤. 中华预防医学杂志 2005年01期


四格表指标统计分析报表的sas宏程序
邹建东. 熊宁宁. 卜擎燕. 蒋萌. 刘芳. 中国临床药理学与治疗学 2005年03期


SAS统计报表制作的一般过程

1、先设计好你的报表格式,比如
________________________________________________
指标 试验组 对照组 统计量 P值
________________________________________________
年龄

例数(缺失)
均值(方差)
中位数
最小值~最大值
95%置信限
________________________________________________



当然这些不用你在word中手工绘制好,就是在报表之前应该清楚大致的形式。



2、用SAS过程先初步得到这些结果

比如可以用means过程、univariate过程得到一些描述统计量;


可以用means过程后面加选项t来做t成组检验,可以用ttest过程来做成组或配对t检验。


而t检验的前途条件要求数据服从正态分布,如果不服从正态分布可以用非参数检验。


3、利用SAS的ODS中ods select选择你所需要的结果

可以先用ods trace来看一下输出的结果都有哪些,然后用ods select选择结果到相应的数据集中。


4、为了直接输出得到上面的表格,可以有两种方法来做。

一种是ODS;一种是利用put在结果输出窗口得到它,再粘贴到word中。


举例:四格表指标统计分析报表的sas宏程序

%macro chisq (database= ,var= ,varfmt=,index=) ;

/* 利用freq 程序输出描述性结果到TabFreq 数据集*/
proc freq data = &database. noprint ;
tables &var. * group /out = TabFreq ;
run ;

/* 将两对比组的缺失例数分别输出到独立的数据集ma 和mb 中*/
data ma ( where = (group ="A") ) mb ( where= (group ="B") ) ;
set TabFreq (keep = &var. group COUNT) ;
where &var. = . ;
run ;

/* 利用ODS 输出描述性结果到CrossTabFreqs数据集,
对比统计的结果到数据集chisq,FishersExact */
ods listing close ;
ods output CrossTabFreqs = CrossTabFreqs chisq = chisq FishersExact=FishersExact ;
proc freq data = &database. ;
tables &var. * group /chisq exact expected nopercent norow ;
run ;
ods listing ;

/* 自CrossTabFreqs 数据集中生成理论频数的数据集,并将其排序 */
proc sort out = EXPECTED(keep = EXPECTED)
data = CrossTabFreqs ( where = ( EXPECTED not=. ) ) ;
by Expected ;
run ;

/* 自理论频数数据集中取出最大理论频数值,输出到数据集T中 */
data T(keep = T) ;
set EXPECTED ;
if n = 1 then T = EXPECTED ;
if T = . then delete ;
run ;

/* 自CrossTabFreqs 数据集中生成例数的数据集,并将其排序 */
proc sort out = Frequency ( keep = Frequency)
data = CrossTabFreqs ;
by descending Frequency ;
run ;

/* 自例数数据集中取出例数,输出到数据集n中 */
data n (keep = n) ;
set Frequency ;
if n = 1 then n = Frequency ;
if n = . then delete ;run ;
run ;

/* 自chisq 数据集中生成普通卡方检验的统计量和P值的数据库 */
data chisq1 (keep =value1 Prob1 ) ;
set chisq ( rename = (value = value1 Prob =Prob1) ) ;
where (Statistic = ('Chi-Square') | Statistic = ('卡方') ) ;
run ;

/* 自chisq 数据集中生成连续校正卡方检验的统计量和P值的数据库 */
data chisq2 (keep =value2 Prob2 ) ;
set chisq ( rename = (value = value2 Prob =Prob2) ) ;
where ( Statistic = ( 'Continuity Adj. Chi-Square') | Statistic = ('连续校正卡方') ) ;
run ;

/* 自Fishersexact 数据集中生成精确概率法P值的数据库 */
data Fishersexact (keep = cvalue1) ;
set Fishersexact ;
where (Name1 = ('XP2_FISH') ) ;
run ;

/* 合并结果,并定义统计量格式 */
data st (keep = ma mb n T value1 Prob1 value2 Prob2 cvalue1 &var. c) ;
merge ma ( rename = (COUNT = ma) ) mb ( rename = (COUNT = mb) ) n T chisq1 chisq2 Fishersexact ;
&var. = - 99 ;
if ma = . then ma = 0 ;
if mb = . then mb = 0 ;
format value1 6.2 value2 6.2 ;
run ;

data outa ( where = ( group ="A") ) outb (where = (group ="B") ) ;
set CrossTabFreqs ;
format ColPercent 6.2 ;
run ;

data outt (drop = table group _TYPE_ _TABLE_ Expected Missing) ;
merge outa (rename = ( Frequency = A ColPercent = percentA) )
outb ( rename = ( Frequency = B ColPercent =percentB) ) ;
if &var. = . then &var. = - 99 ;
run ;

proc sort ;by &var. ;run ;

data _null_ ;
file print notitle ;
merge outt st ;
if &var. = - 99 then do ;
if n = 40 and 1 = 40 and T > = 5 then do ;
put @3"&index. " @70 'chisq = 'value1 @83 'P= 'Prob1 ;
end ;
put @5 "例数(缺失) " @22 A '(' MA ') ' @47 B '(' MB ') ';
end ;
else do ;
put @5 &var. '(%) ' @22 A '(' PercentA ') '@47 B '('PercentB ') ';
format &var. &varfmt..;
end ;
run ;

proc datasets;
delete chisq chisq1 chisq2 Crosstabfreqs Expected Fishersexact
Frequency Ma Mb N Outa Outb Outt st stt t Tabfreq ; quit ;

%mend chisq ;

data jixian;
input id group$ SEX;
datalines;
1 A 1
2 A 2
3 A 2
4 A 2
5 B 1
6 B 2
7 B 1
8 B 2
;
run;

proc format;
value sexfmt 1='男性' 2='女性';
run;

%chisq (database=jixian ,var=sex ,varfmt=sexfmt,index=性别)

数据挖掘与临床疾病诊断

数据挖掘(Data Mining)通过分析每个数据,从大量数据中寻找规律的技术。主要有数据准备、规律寻找和规律表示三个步骤。数据准备是从相关数据源中选取合适数据并整合成用于数据挖掘的数据集;规律寻找是...
  • qq271963975
  • qq271963975
  • 2014年08月15日 09:32
  • 242

当前心血管疾病大数据研究的挑战

当前心血管疾病大数据研究的挑战 在我国目前的就医模式下,患者就诊数据包括患者基本信息、就诊信息、检验及影像检查报告、医学影像图像文件、住院相关病历等临床数据 。就上海市而言,医联数据中心总数...
  • Richard_More
  • Richard_More
  • 2016年08月20日 00:25
  • 1485

孙振球-第三版-医学统计学-数据文件

  • 2016年11月19日 12:35
  • 2.22MB
  • 下载

深度:大数据分析对于中国医疗保险管理的价值(N多案例分析+附下载)

作者: 张岚,总监,医疗保险及医院管理事业部 引言 随着大数据在各行各业的应用和扩展,医疗领域大数据及其分析技术也正日益赢得人们的关注。那么大数据在医疗领域指的是什么?又有什么样的特点?我们知道,...
  • dongzhumao86
  • dongzhumao86
  • 2015年04月20日 13:37
  • 3990

TCGA数据下载和整理工具----GDCRNATools

TCGA数据下载和整理的网站及软件发表很多了,比如Broad GDAC Firehose, Oncomine, TCGAbiolinks,TCGA-Assembler, TCGA2STAT,RTCGA...
  • herokoking
  • herokoking
  • 2018年01月04日 15:29
  • 165

大数据在医疗领域的应用

大数据顾名思义就是数量极其庞大的数据资料。大数据的意义在于提供‘大见解’:从不同来源收集信息,然后分析信息,以揭示用其他方法发现不了的趋势。早期,IBM定义了大数据的5v特性:大量性( Volume)...
  • chenjunji123456
  • chenjunji123456
  • 2017年04月18日 09:54
  • 1136

医学知识图谱构建技术与研究进展

来源: 人机与认知实验室 概要:医学知识图谱是实现智慧医疗的基石,有望带来更高效精准的医疗服务。 摘要:医学知识图谱是实现智慧医疗的基石,有望带来更高效精准的医疗服务。然而,现有知识图 谱...
  • cf2SudS8x8F0v
  • cf2SudS8x8F0v
  • 2017年11月11日 00:00
  • 762

深度学习下的医学图像分析 2

在上一篇文章中,我们谈论了深度学习相关的基本内容。本文,我们将关注于医学图像及其格式。本文分为三个部分——医学图像及其组成、医学图像格式和医学图像的格式转换。本文希望通过对深度学习的相关知识的介绍,最...
  • xiangz_csdn
  • xiangz_csdn
  • 2017年07月21日 23:07
  • 946

GMAP gff3格式转换与数据统计

##gff-version 3 # Generated by GMAP version 2016-06-09 using call: gmapl.sse42 -D /export/data/ -...
  • msw521sg
  • msw521sg
  • 2016年09月17日 11:24
  • 604

使用nginx lua实现网站统计中的数据收集

网站数据统计分析工具是各网站站长和运营人员经常使用的一种工具,常用的有 谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于java...
  • linuxnews
  • linuxnews
  • 2016年07月05日 15:42
  • 1452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:临床试验的统计报表问题:四格表指标统计分析报表的sas宏程序
举报原因:
原因补充:

(最多只允许输入30个字)