Download presentation
Presentation is loading. Please wait.
1
SAS 基础 SAS 功能及历史(略) INSIGHT,Analyst,Program 是统计分析的三种方法
逻辑库与 SAS 文件(主要包括数据集和程序,访问形式:逻辑库名.文件名,不加逻辑库名,视为Work) SAS 中变量的名字(最多8个字符,不区分大小写)
2
SAS 编程初步 数据步和程序步(可能还会包括一些全程语句) SAS 语句书写规则(关键词开始,分号“;”结束)
data exam; /* 考察某些人考试成绩的数据集*/ input name $ sex $ math computer; cards; 阿基米德 男 92 98 亚里士多德 男 89 95 居里夫人女 86 90 Gaga 女 25 82 高斯 男 98 83 ; *以下为过程步 proc print data = exam; proc means data =exam mean; var math computer; run;
3
SAS 编程初步 指定逻辑库 显示所有已指定的逻辑库 取消逻辑库名
libname <逻辑库名> (“<路径>” “<路径>” …); 例:libname mylib “d:\sasdata\”; 显示所有已指定的逻辑库 libname _ALL_ list; 取消逻辑库名 /*取消指定逻辑库名*/ libname <逻辑库名> clear; /*取消所有指定逻辑库名,不包括系统的四个*/ libname _ALL_ clear ;
4
SAS 编程初步 数据步 data <数据集名>; /*若不指定逻辑库名,缺省建立Work中的临时表*/
input <变量名1>[$] <变量名2>[$] …<变量名k>[$]; /*$为字符型*/ cards; d11 d12 … d1k d21 d22 … d2k … … ; run; data <数据集名>; input <变量名1>[$] <变量名2>[$] …<变量名k>[$] cards; d11 d12 … d1k d21 d22 … d2k … … ; run;
5
SAS 编程初步 过程步 proc <过程名> [dada=<输入数据集>][<选项>];
<过程语句>/<选项>; run; /*过程步常用语句之一:var,指定分析变量*/ var <变量名1> <变量名2> … <变量名k>; /*过程步常用语句之二:by,指定分类变量,一般先用sort排序*/ by <变量名1> <变量名2> … ; /*过程步常用语句之三:class,指定分类变量,不需要先排序*/ class <变量名1> <变量名2> … ;
6
SAS 应用——方差分析 单因素方差分析 /* ANOVA过程*/ proc anova data = <数据集>;
class <自变量列表>; /*必须,且位于model之前*/ model <因变量名>=<自变量表达式>[/<选项列表>]; /*主、交互及嵌套效应模型*/ means <因变量名>=<自变量表达式>[/<选项>]; /*计算各水平下因变量均值、标准差,并进行组间多重比较*/ run; *适用条件: *1. 各水平的观测彼此独立 *2. 各水平的观测均为正态分布的样本 *3. 各组方差相等
7
SAS 应用——方差分析 单因素方差分析 /* 例题*/ data exam; input hangye $ tousu @@;
cards; 零售 57 零售 66 零售 49 零售 40 零售 44 旅游 68 旅游 39 旅游 29 旅游 45 旅游 56 航空 31 航空 49 航空 21 航空 34 航空 40 家电 44 家电 51 家电 65 家电 77 家电 58 ; proc anova data = exam; class hangye; model tousu = hangye; run;
8
SAS 应用——回归分析 线性回归分析 /* REG过程*/
proc reg data = <数据集>[/<选项列表>]; var <变量列表>; model <因变量>=<自变量表>[/<选项>]; /*指定要拟合的回归模型*/ print <选项列表>; plot <y变量名*x变量名>[=<符号>][/<选项列表>]; /*对两个变量绘制散点图,符号缺省即可,如果指定显示符号,则需单引号括起来*/ run;
9
SAS 应用——回归分析 线性回归分析 /* REG过程例*/ data sandian; input y x1 x2 @@; cards;
; proc reg data = sandian; var y x1 x2; model y=x1 x2; run;
10
SAS 应用——回归分析 多项式回归分析——REG /* REG过程*/
proc reg data = <新数据集>[/<选项列表>]; var <变量列表>; model <因变量>=<自变量表>[/<选项>]; /*指定要拟合的回归模型*/ print <选项列表>; plot <y变量名*x变量名>[=<符号>][/<选项列表>]; /*对两个变量绘制散点图,符号缺省即可,如果指定显示符号,则需单引号括起来*/ run; /******************************* 关键是数据步,需要增加多项式项 data 新数据集; set 原数据集; 新变量=原来变量的多项式表达式; *******************************/
11
SAS 应用——回归分析 多项式回归分析——REG /* REG过程例*/ data sandian; input y x1 x2 @@;
cards; ; data sandianx; set sandian; x1x2=x1*x2; proc reg data = sandian; var y x1 x2 x1x2; model y=x1 x2 x1x2; run;
12
SAS 应用——回归分析 多项式回归分析——GLM /* GLM过程*/ proc glm data=<数据集>;
class <变量列表>; model <因变量>=<自变量列表>[/选项] run; /**************************** 该过程省去了很多选项和参数, 只把比较有用的列了出来。 ****************************/
13
SAS 应用——回归分析 多项式回归分析——GLM /* GLM过程例*/ data exam; input g x y zb@@;
cards; ; proc glm data=exam; model zb=x y x*x x*y y*y; run;
14
SAS 应用——判别分析 判别分析 /* DISCRIM过程*/ proc discrim data=<数据集>;
class <变量>; priors <先验概率值>; /*缺省为0.5*/ var <变量列表>; run; /* DISCRIM过程例,由于没有真实的数据集,该程序只是演示*/ proc discrim data = exam distance listerr; /*distance表明可根据距离判别样品有无差异,listerr列出错误归类的观测结果*/ class type; var x1-x4;
15
SAS 应用——聚类分析 聚类分析——系统聚类 /* CLUSTER过程&TREE过程*/
proc cluster data=<数据集> [选项]; /*选项中method为必选项,共11种方法*/ var <聚类变量列表>; copy <复制变量>; /*用来输出聚类树的数据集*/ run; proc tree data =<数据集> [选项]; copy <变量>; ; id <变量>;
16
SAS 应用——聚类分析 聚类分析——系统聚类 /* CLUSTER过程&TREE过程例*/
proc cluster data = exam standard method=ward outtree=otree pseudo; /*standard将数据规范化, method=ward指明实用最小方差法, outtree=otree指出输出聚类树数据集, pseudo要求计算伪F和伪t^2统计量*/ copy group; run; proc tree data = otree horizontal; id group;
17
SAS 应用——主成分分析 主成分分析 /* PRINCOMP过程*/
proc princomp data=<数据集> [选项列表]; var <变量列表>; run; /********************************* 选项列表中,out= 输出原始数据集和 主成分得分的数据集;outstat=统计量 的数据集;covariance或者 cov 表示从 协方差阵出发计算,缺省从相关阵出发 计算;n要计算的主成分个数,缺省时 计算全部;standard或者std要求在out= 数据集中把主成分得分标准化,默认为 相应的特征值 *********************************/
18
SAS 应用——主成分分析 主成分分析 /* PRINCOMP过程例*/
proc princomp data=exam n=4 out = ex1 outstat=ex2; var x1-x10; proc print data = ex1; run; /********************************* 该例子没有真实的数据集,所以只是作 为演示用,具体问题具体分析 *********************************/
19
SAS学习 SAS的内容比较多,前面都是针对考试的五个要求而设的,力求简洁实用。 Learn more by yourself
/*或许不能运行,但规则如此*/ data learnSAS; input what you do tomorrow; cards; …… ; proc work_life_may_be data = learnSAS; run;
Similar presentations