
《SAS分析法代码》由会员分享,可在线阅读,更多相关《SAS分析法代码(14页珍藏版)》请在文档大全上搜索。
1、SAS 分析常用的过程 过程步大全为区分过程名称的拼写,故意部分小写,以便识别和记忆。 基本SAS程序代码结构:-PROC MODE data=Arndata.moddat; /* 命令的解释 */ var y x1-x6; /*
2、 命令的解释 */ model y = x1-x6;run;- 正态性检验PROC UNIvariate-PROC UNIvariate data=Arndata.unidat; var x1;run; - 相关分析和回归分析PROC REG 回归-PROC REG data=A
3、rndata.regdat; var y x1-x6; model y = x1-x6 / selection=stepwise; /* 加入逐步回归选项 */ print cli; &
4、#160; /* 加入输出预测结果部分,还可以输出acov,all,cli,clm,collin,collinoint,cookd,corrb,
5、160; covb,dw(时序检验统计量),i,influence,p,partial,pcorr1,pcorr2,r,
6、0; scorr1,scorr2,seqb,spec,ss1,ss2,stb,tol,vif(异方差检验统计量),xpx*/ pl
7、ot y*x2 / conf95; /* 做散点图 */run; -DATA Arndata.regdat;x2x2 = x2*x2;x1x2 = x1*x2;PROC REG data=Arndata.regdat; var y x1 x2 x2x2 x1x2 ;
8、 /* 多项式回归,非线性回归 */ model y = x1 x2 x2x2 x1x2 / selection=stepwise; /* 加入逐步回归选项 */
9、160; print cli; plot y*x2 / conf95; /* 做散点图 */run; -PROC RSreg 二次响应面回归PROC ORTHOreg 病态数据回归PROC NLIN 非线性回归PROC
10、 TRANSreg 变换回归PROC CALIS 线性结构方程和路径分析PROC GLM 一般线性模型PROC GENmod 广义线性模型 方差分析PROC ANOVA 单因素均衡数据和非均衡数据-PROC ANOVA data=Arndata.anovadat; /* 命令的解释 */ class typ;
11、160; /* 命令的解释 */ model y = typ; /* 可以看出此处是 单因素方差分析(分类型自变量对数值型自变量的影响) */ru
12、n;-PROC GLM 多因素非均衡数据:- PROC GLM data=Arndata.glmdat; /* 命令的解释 */ class typea typeb; /* 命令的解释 */
13、model y = typea typeb; /* 可以看出此处是 不考虑交互作用的多因素方差分析(分类型自变量对数值型自变量的影响) */run;- PROC GLM data=Arndata.glmdat; /* 命令的解释 */ class typea typeb;
14、0; /* 命令的解释 */ model y = typea typeb typea*typeb; /* 可以看出此处是 考虑交互作用的多因素方差分析(分类型自变量对数值型自变量的影响) */run;- 主成分分析PROC PRINcomp-PROC PRINcomp data=Arndata.pmdat
15、 n=4 out=w1 outstat=w2 ; var x1-x6; PROC print data=w1;PROC plot data=w1 vpct=80;
16、; /* 一句话,其实print就是plot输出图形的文字形式而已 */ plot prin1*prin2 $ districts='*'/ haxis=-3.5 to 3 by 0.5 HREF=
17、-2,0,2 vaxis=-3 to 4.5 by 1.5 HREF=-2,0,2; /* 主成分的散点图,也就是载荷图 */run;- 因子分析PROC FACTOR-PROC FACTOR data=Arndata.factordat simple corr ;
18、0; var y x1-x6; title'18个财务指标的分析' title2'主成分解'run;PROC F
19、ACTOR data=Arndata.factordat n=4 ; /* 选择4个公共因子 */ var y x1-x6; run;PROC FACTOR data=Arndata.factordat n=4
20、60; rotate=VARImax REorder; /* 因子旋转:方差最大因子法 */ var y x1-x6; run;-PROC SCORE -PROC FACTOR data=Arn
21、data.factordat n=4 rotate=VARImax REorder score out=score_Out; /* 输出因子得分矩阵 */run;PROC print data=score_Out; var districts factor1 factor2 factor3 factor4;run; PROC plot data=score_Out;
22、0; plot factor1*factor2 $ districts='*' / href=0 Vref=0; /* 因子的散点图,也就是载荷图 */run;- 典型相关分析PROC CANcorr基本SAS程序代码结构:-DATA jt(TYPE=CORR);
23、160; /* TYPE=CORR 表明数据类型为相关矩阵,而不是原始数据, type还可以是cov,ucov,factor,sscp,ucorr等*/ input names$ 1-2(x1 x2 y1-y3)(6.); /* name $ 表示读取左侧的变量名,1-2表示变量名的字符落在第1,2列上 */ cards;x1 1 0.8 x2 y1 y2 y3 ;PROC CANcorr data=
24、Arndata.cancorrdat edf=70 redundancy; /* 误差自由度的参考值,默认值是n=1000; redundancy表示输出冗余度分析的结果 */ var x1 x2;
25、; with y1 y2 y3;run;-对应分析 /* 交叉表分析的拓展,寻找行和列的关系,一般行指代各种cases,而列代表各种visions */ PROC CORResp -PROC CORResp data=Arndata.correspdat out=result;
26、160; var x1-x6; id Type;run;options ps=40;proc plot data=result; plot dim2*dim1="*" $ Type
27、 / box haxis=-0.2 to 0.3 by 0.1 Vaxis=-0.1 to 0.3 by 0.1 Href=0 Vref=0;run;- 聚类分析PROC CLUSTER-PROC CLUSTER data=Arndata.clusdat
28、 method=ave outtree=clusdat_Out; var x1-x6; id datid;run;proc tree horizont
29、al; /* 做聚类树 */run;-PROC FASTclus-PROC FASTclus data=Arndata.clusdat maxclusters=3 list out=clusdat_Out;
30、 var x1-x6; id datid;run;- PROC ACEclusPROC VARCLUS-PROC VARclus data=Arndata.clusdat; /* 系统默认使用主成分法聚类 */
31、 var x1-x6; run; -PROC VARclus hierarchy data=Arndata.clusdat; /* 保证分析过程中不同水平的谱系结构 */ var x1-x6; run; -PROC VARclus centroid data=Arndata.clusdat outtree=clusdat_out; /* 使用重心法聚类
32、*/var x1-x6; run; -PROC TREE-PROC TREE data=Arndata.clusdat horizontal; /* 使用TREE过程绘制聚类谱系图 */var x1-x6; run; - 判别分析PROC DISCRIM-PROC DISCRIM data=Arndata.discrimdat list out=discrimdat_Out dist
33、ance pool=yes; class Typ; /* 指定分类变量 */ var x1-x6; /* 用于建立判别识别函数的变量 */
34、; id iddiscrim; /* 标注样本的变量 */run;-第二种方法,将需要判别的新样本放在testdata里:-PROC DISCRIM data=Arndata.discrimdat1 testdata=Arndata.discrimdat2 testlist testout=discrimdat_Out; /* 将原来的几个选项加注test标示 */
35、 class Typ; /* 指定分类变量 */ var x1-x6; /* 用于建立判别识别函数的变量 */ id iddiscrim
36、; /* 标注样本的变量 */run; -PROC STEPdisc: 逐步判别分析过程-PROC STEPdisc method=stepwise data=Arndata.discrimdat SLentry=0.10 SLstay=0.10; /* 设定引入和剔除的显著性水平 */
37、 class Typ; /* 指定分类变量 */ var x1-x6; /* 用于建立判别识别函数的变量 */run;-PROC CANdisc: Fisher判别分析过程-PROC CANdisc data=Arndata.discrimdat out=discrimdat_Out
38、160; distance simple; class Typ; /* 指定分类变量 */ var x1-x6; /* 用于建立判别识别函数的变量 */run;proc print data=discrimdat_Out;run; -