利用SAS软件制作报表的常用手法
2016-11-27 23:50
447 查看
利用SAS软件制作报表的常用手法
1、先设计好你的报表格式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=) ;
proc freq data = &database. noprint ;
tables &var. * group /out = TabFreq ;
run ;
data ma ( where = (group ="A") ) mb ( where= (group ="B") ) ;
set TabFreq (keep = &var. group COUNT) ;
where &var. = . ;
run ;
ods listing close ;
ods output CrossTabFreqs = CrossTabFreqs chisq = chisqFishersExact=FishersExact ;
proc freq data = &database. ;
tables &var. * group /chisq exact expectednopercent norow ;
run ;
ods listing ;
proc sort out = EXPECTED(keep = EXPECTED)
data = CrossTabFreqs ( where = ( EXPECTED not=. ) ) ;
by Expected ;
run ;
data T(keep = T) ;
set EXPECTED ;
if n = 1 then T = EXPECTED ;
if T = . then delete ;
run ;
proc sort out = Frequency ( keep = Frequency)
data = CrossTabFreqs ;
by descending Frequency ;
run ;
data n (keep = n) ;
set Frequency ;
if n = 1 then n = Frequency ;
if n = . then delete ;run ;
run ;
data chisq1 (keep =value1 Prob1 ) ;
set chisq ( rename = (value = value1 Prob =Prob1) ) ;
where (Statistic = ('Chi-Square') | Statistic = ('卡方') ) ;
run ;
data chisq2 (keep =value2 Prob2 ) ;
set chisq ( rename = (value = value2 Prob =Prob2) ) ;
where ( Statistic = ( 'Continuity Adj. Chi-Square') | Statistic =('连续校正卡方') ) ;
run ;
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 Tchisq1 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 ExpectedFishersexact
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=性别)
相关文章推荐
- 灵活利用配置表,制作报表
- 常用的多数据集报表制作演示
- 如何使用报表制作工具软件进行二次开发
- 利用DLL制作多语言版软件
- Fedora利用yum安装卸载软件常用命令
- 利用C++Builder 6 中OLE自动化功能实现调用Word进行报表制作
- Access如何制作复杂报表——利用Excel输出复杂报表
- 利用winrar3.70制作软件安装包
- 推荐6款常用的Java开源报表制作工具
- 利用VFP制作财务报表——谈VFP与Excel的交互操作
- 网页制作常用软件
- vb.net2005 利用利用文字型窗体域制作WORD报表
- 利用Labview的ActiveX组件制作的时域波形采集和频谱分析软件————利用自己画的板子(Cy7c68013A、SDRAM、AD7667和ep3cq240c8N)
- ABAP--利用客户端定时器制作自动刷新数据报表代码样例
- 利用SQLServer2005 Reporting Service制作报表解决方案全过程
- Java报表软件树形展开的折叠报表的制作
- 利用批处理全自动安装常用软件
- 利用第三方软件制作最简单的图表
- 推荐6款常用的Java开源报表制作工具
- cisco常用模拟器和拓扑制作软件下载