SAS是主流的数据挖掘平台之一,与IBM的SPSS类似,它可以实现某些常见的数据挖掘功能,比如聚类分析或者主因子分析,但是对前沿算法的支持不如MATLAB或者WEKA。SAS是一个庞大的系统,可以运行在多种操作系统中。
SAS的完整版本包含数十个模块(以8.2版本为例):BASE、GRAPH、ETS、FSP、AF、OR、IML、SHARE、QC、STAT、INSIGHT、ANALYST、ASSIST、CONNECT、CPE、LAB、EIS、WAREHOUSE、PC File Formats、GIS、SPECTRAVIEW、SHARE?NET、R/3、OnlineTutor:SAS Programming、MDDB Server、IT Service Vision Client、IntrNet Compute Services、Enterprise Reporter、MDDB Server common products、Enterprise Miner、AppDev Studio、Integration Technologies等。
模块是将功能相近的程序、代码等集中起来组成相对独立的部分,类似于办公软件系统Office中包含的Word、Excel、Access等。各模块具有相对独立的功能范围,常用的模块有BASE、GRAPH、STAT、INSIGHT、ASSIST、ANALYST等,分别执行基本数据处理、绘图、统计分析、数据探索、可视化数据处理等功能。
SAS程序包括多个步骤和一些控制语句,一般情况下均包括数据步和过程步。一个或多个数据步或过程步之间任何形式的组合均可称为一段SAS程序,只要能完成一个完整的功能即可。通常情况下,SAS程序还包括一些全程语句,用于控制贯穿整个SAS程序的某些选项、变量或程序运行的环境。
SAS程序的语句一般以关键字开始,以一个分号结束,一条语句可占多行(SAS每遇到一个分号,就将其以前、上一个分号以后的所有内容当作一条语句来处理,而不管它们处在多少个不同的行中)。SAS语句不区分字母的大小写。
1.库名(库标记)的定义
统计学的操作都是针对数据的,SAS中容纳数据的文件称为数据集,数据集又包含在不同的库(可理解为数据库)中。SAS中的库分为永久性和临时性两种。顾名思义,存在于永久库中的数据集是永久存在的(只要你不删除它),临时库中的数据集则在你退出SAS后自动删除。至于SAS中库的概念,最简单的理解就是一个目录——一个存放数据集的目录。
数据集的结构完全等同于我们一般所理解的数据表,由字段和记录所构成,在统计学中我们习惯将字段称为变量,在后面的内容中字段和变量可理解为同一种东西。
为了保存宝贵的数据和方便操作起见,可指定自己的库名及其路径(目录),因为SAS系统中已有的永久库(SASUSER)无论库名还是其对应的路径都太过繁琐,使用太不方便。程序中用到的数据都可以永久地保存在该路径下,保证以后可以重复使用。指定库名的语句为全程语句,其格式如下:Libname库名 '路径';例如,我们指定的库名为“a”,路径为:“e:\data\”,SAS语句如下:libname a 'e:\data\';
2.数据步
SAS的数据步以data语句开始,用于创建和处理数据集。data语句以关键字“data”开始,格式如下:data 数据集名;例如data a.case;将创建在库a中名为case的SAS数据集,语句执行后可在与库a对应的目录下看到刚刚建立的数据集文件case。
data语句所指定的数据集一般都是以“库名.数据集名”的格式出现的,也可以单独的“数据集名”出现,此时的数据集系统默认为是临时库中的数据集,退出系统后将会被删除。
data语句有两个重要的功能:标志数据步的开始和命名将要创建的SAS数据集。
除data语句外,数据步一般情况下还包括infile语句、input语句以及datalines语句等。在不同的数据输入方式下对于它们的使用方式也不一样。
SAS程序有两种常见的数据输入方式,即从外部文件读入和直接输入两种方式。
SAS程序的过程步表示一个处理过程,如排序、T检验、方差分析等。过程步以关键字proc开始,后面紧跟着过程名,用以区分不同的程序步,并以关键字run结束。
一般的格式如下:proc 过程名选项列表;
……(其他语句);
……(其他语句);
run;SAS程序中涉及的过程多达数百种,实现统计功能时常用的过程也有数十种之多,比如:
Datasets:对数据文件进行管理操作的工具。
Sort:将指定的数据集按指定变量排序。
Print:将数据集中的数据列表输出。
Tabulate:将数据按照指定的分类变量以表格的形式分类汇总。
Means:对指定的数值变量进行简单统计描述。
Freq:对指定的分类变量进行简单统计描述。
Ttest:对指定的变量做t检验。
Anova:对指定的变量做方差分析。
npar1way:对指定的变量做非参数检验。
Reg:对指定的变量做回归分析。
Corr:对指定的变量做相关分析。
Discrim:对指定的变量做判别分析。
Cluster:对指定的变量做聚类分析。
Chart:绘出低分辨率的统计图。