《应用多元统计分析》实验教案数学与计算科学学院二〇一五年三月目录SAS系统简介 (1)第一讲 SAS软件应用基础 (4)第二讲描述性统计分析 (9)第三讲多元正态总体参数的假设检验 (17)第四讲判别分析方法 (29)第五讲聚类分析 (42)第六讲主成分分析 (56)第七讲因子分析 (64)第八讲对应分析 (72)第九讲典型相关分析 (76)SAS系统简介SAS (Statistical Analysis System ) 系统是国际著名的数据分析软件系统。
该系统1966年开始研制,1976年由美国SAS公司实现商业化,1985年推出SAS/PC 版本,1987年推出6.03版,目前已推出Windows 系统支持的8.2和9.0版,是目前国际上公认的著名的数据统计分析软件系统之一。
从1976年SAS开发成功至今,SAS的用户遍及119个国家,它已经成为同类产品中的领导者。
在财富500强中,有90%的公司使用SAS。
而在财富500强的前100家企业中,有98%的公司使用SAS。
如此广泛的应用源于SAS系统的强大的分析功能、可组合的模块式软件系统和简单易学。
SAS系统是集数据分析、生成报表于一体的一种集成软件系统。
它由基本部分和外加模块组成,其中基本部分包含的功能如下:–基本部分: BASE SAS 部分;–统计分析计算部分: SAS/STA T ;–绘图部分: SAS/GRAPH ;–矩阵运算部分: SAS/IML ;–运筹学和线性规划: SAS/OR ;–经济预测和时间序列分析: SAS/ETS 。
1.1.SAS的启动1.2.SAS8.0 软件界面SAS界面包括三个部分,即程序窗口、日志窗口和输出窗口。
EDITOR(程序窗口)编辑窗口用于编辑SAS源程序文件。
编辑窗口支持全窗口编辑功能,即光标可以在整个窗口内随意移动,支持Windows系统常规编辑操作,如复制、剪切、粘贴等功能操作。
SASV8提供了智能编辑功能,它可根据用户输入的SAS关键字、语句选项、变量名、数据、标记等不同内容显示不同的颜色,当用户输入的字串不正确时,对应颜色不对,警告使用者有错误发生。
LOG(日志窗口)运行记录窗口用于显示和记录SAS程序的运行情况,说明程序运行成功或存在错误,当程序出现错误时,LOG记录窗口中以红色字符显示错误信息,以绿色显示一些警告信息。
提示使用者修改程序中的错误。
OUTPUT(输出窗口)分页显示SAS程序运行所产生的文本输出结果(图形输出通过GRAPHICS窗口显示)。
对于文本结果的输出,可以使用主界面的菜单File|Save As将结果文档保存在磁盘中,保存的文件扩展名为.lst,但实际上是一种文本文件格式,可以使用文字处理软件,如Word或写字板、记事本等打开并进行编辑修改。
对于输出到GRAPHICS窗口的图形,可以使用菜单File|Export as Image将图形导出保存在磁盘中,图形文件格式可以在“保存类型”下拉列表中选择。
1.3SAS程序结构SAS程序采用模块化结构,模块之间相互独立,每个模块完成一个任务。
模块分为两种类型:一种类型是数据模块,数据模块以英文单词data作为开始语句。
另一种类型是程序模块,程序模块以proc作为开始语句。
模块中的语句之间用“;”分隔,同一个语句的不同项之间必须用一个以上的空格分隔。
在一个程序中可以包含多个数据模块和程序模块,模块的位置是任意的。
程序按照语句出现的先后顺序执行。
(1)SAS程序的语法编写程序时必须遵循所使用的软件的语法规则,SAS程序的语法规则可以归纳为以下几条:①标识符或数据之间至少用一个以上的空格分隔;②每个语句用分号作为结束标志;③变量名或其他名称最多包含8个字符,并且第一个字符为英文字母,名称中不能有空格,或SAS系统的保留符号,如:“-”、“.”、“,”、“…”、“$”等;④SAS程序可以处理带有缺失数据的文件,数据缺失值用“.”表示;⑤SAS程序只处理数值和字符串两种类型的变量,为了和数值变量相区别,输入语句中字符串变量名使用“$”作为后缀;⑥程序中可以包含注释语句,注释语句以“/*”开始,以“*/”结束;⑦除数据外,SAS程序不区分英文字母的大小写。
(2)SAS数据集SAS的核心是SAS数据集是SAS文件的一种,一般又以下两部分组成:(1)描述部分包含该数据集的一般信息,包括:数据集的名字及其成员类型、数据集建立的日期和时间、观测的数目以及数据集中每一个变量的特征信息,包括:Name(变量名)、Type(类型)、Length(长度)、Format(输出格式)、Informat(输入格式)、Label(标签)。
(2)数据部分包含数据集中收集的数据的值,可以看作是一个矩形的表格。
表格的列(columns)称为变量(variables),对应于原始数据文件或其他一些外部数据库所称的字段(fields);表格的行称为观测(observations),对应于原始数据文件或其他一些外部数据库所称的记录(records)或数据行(data lines)(3)逻辑库SAS的逻辑库分为临时逻辑库和永久逻辑库两种。
临时库只有一个,名为work,其他的库均为永久库。
SAS每次启动时会自动指定4个库标记:work、Sasuser、Sashelp、Sasmap。
存放在work中的SAS文件叫临时文件,当退出SAS系统时这些文件会被自动删除。
永久文件保存在永久库中,在退出SAS系统时不会被自动删除。
所以,通常把作为中间结果或练习使用的数据集保存为临时数据集,而需要以后再用的数据集则可以保存为永久数据集;如果需要备份,最好在退出前把临时文件复制到其他的库中。
在Explorer窗口中单击鼠标右键,在右键菜单中选择New,打开New Library对话框,可以建立新库(如把一个库名为Mylib)。
如果选中Enable at startup复选框,则每次打开SAS时所建逻辑库都有效。
(4)数据集的导入建立数据集的方法很多,但是,无论是在Explorer窗口中使用VIEWTABLE程序,或是使用INSIGHT模块和“分析家”,还是使用编程操作中专门的数据读入方法来建立数据集,都需要将数据现场输入,费时费力。
较为简便的方法是:利用Excel录入数据,并做简单处理,然后将Excel数据表导入到SAS数据集中。
导入Excel数据表的步骤如下:①在SAS应用工作间中,选择菜单File下的Import data……,打开导入向导Import Wizard第一步:选择导入类型(Select import type),默认的类型为Excel数据表,单击Next按钮进入下一步。
②在第二步的Select file对话框中,单击Browse按钮,在“打开”对话框中选择所需要的Excel文件,返回。
然后,单击Option按钮,选择所需工作表,单击OK按钮返回。
单击Next按钮进入下一步。
③在第三步的Select library and member对话框中,选择导入数据集所存放的逻辑库以及数据集的名称,单击Next按钮进入下一步。
④在第四步的Create SAS Statements对话框中,可以选择将系统生成的程序代码存放的位置,也可不做选择,直接单击Finish按钮,完成数据集的导入。
第一讲 SAS软件应用基础(2学时)一、实验目的1.了解SAS程序结构及SAS8.0的使用方法;2.掌握使用DATA步建立SAS数据集的方法。
二、实验要求1.会建立数据集;2.会计算样本的数字特征。
三、实验相关SAS知识例1、SAS数据集的导入和导出内容:(1)将SAS数据集L3.Stu01导出为Excel数据集:ex1.xls;(2)将Excel数据集:ex2.xls导入SAS数据集为L3.Stu02;解:(1)菜单方式:File/Export data→选择库名,数据集名(L3.stu02) →Next→选择要导出的数据格式,默认的是Excel→Next→指定存放数据的路径及名称→在Brose中选择要保存相应程序的路径及名称(可省略)→Finish编程方式:(2)菜单方式:先建立好Excel数据,并关闭文件. (注意: Excel数据文件中,第一行应为数据变量名,这个名称只能用英文字母和数字)File/Import data→选择要导入的数据格式,默认的是Excel→Next→选择Excel数据文件ex2.xls→Next→指定存放数据的库名及名称→在Brose中选择要保存相应程序的路径及名称(可省略)→Finish编程方式:例2、建立以下数据集,并计算数学和英语的平均成绩。
姓名出生日期学号数学英语王红1977-06-02 981001 90 96李明1978-03-23 981002 82 90张平江1978-12-23 981003 88 95解:(一)建立数据集菜单方式.(1)打开SAS界面→在explorer窗口双击Libraries →选择自己常用的逻辑库,右击→点击new →点击table →点击OK,即可出如下现viewtable表格:(2)右击A,然后点击column attributes, 出现如下窗口:将变量名(name)框中的A改为”name”, Label框填“姓名”,点击“Apply”,然后关闭该窗口, 出现:并在姓名下方的三个表格中分别输入王红,李明,张平江.(3)右击B,然后点击column attributes, 出现如下窗口:将变量名(name)框中的B改为”birth”, Label框填“出生日期”,type中选“Numeric”,format 中点击”…”出现:在Name 下方选择“yymmdd”,width 中选择“10”,点击OK;在informat中点击”…”, 然后在出现的窗口中,用同样的方法处理,出现:点击”Apply”,关闭该窗口,出现:在出生日期栏,分别输入:“19770602”、“19780323”、“19781223”(4)右击C,然后点击column attributes, 出现如下窗口:将变量名(name)框中的C改为”no”, Label框填“学号”,type中选“Numeric”,点击“Apply”,然后关闭该窗口, 出现:输入对应的学号即可.数学和英语的成绩变量名分别为:Math 和English,其输入方式学号的类似,输入完后注意保存,最后可得数据集:编程方式DATA S2 ;INPUT NAME $ 1-8 BIRTH YYMMDD10. no MATH ENGLISH ;CARDS ;王红1977-06-02 981001 90 96李明1978-03-23 981002 82 90张平江1978-12-23 981003 88 95;Run;PROC PRINT ;FORMAT BIRTH yymmdd10. ;RUN ;打印出的结果是:(二)计算平均数在上面的程序的第二行和第三行之间添加一句“avg=(math+english)/2; ”即:DATA S2 ;INPUT NAME $ 1-8 BIRTH YYMMDD10. no MATH ENGLISH ;avg=(math+english)/2;CARDS ;王红1977-06-02 981001 90 96李明1978-03-23 981002 82 90张平江1978-12-23 981003 88 95;Run;PROC PRINT ;FORMAT BIRTH yymmdd10. ;RUN ;打印的结果:四、实验内容学生管理数据库中数据集如下:姓名出生日期年龄入学日期学号数学英语王红1977-06-02 22 1998-09-10 9810012 120 73 李明1978-03-23 21 1998-09-10 9810004 112 68 徐凯歌1978-11-14 21 1998-09-10 9810034 130 78 吴青云1978-04-12 21 1998-09-10 9810023 109 84 李清华1978-10-24 21 1998-09-10 9810024 100 78 张平江1978-12-23 21 1998-09-10 9810005 140 78分别用菜单方式和编程方式建立以上数据集。