1、1,SAS 系统是用于严肃数据分析和决策支持的大型集成式模块化软件包 六十年代末到八十年代初以统计分析及线性数学模型为主,在数据处理和统计分析领域被誉为国际上的标准软件系统 SAS在决策支持工具-数据仓库和数据挖掘(Data Warehouse与Data Mining)方面已连年被评为“年度最佳产品”、“最佳决策支持工具”。 公司卓著的业绩使之被评为“全美国人们最乐意为之工作的100家公司“之一及“最佳决策支持工具的供应商“。 发展 1966年 美国北卡周立大学 A.J.Barr 1972年 推出SAS72供大学使用 1976年 成立SAS研究所(SAS Institute Inc.),总部在
2、美国北卡州凯瑞市 现已是全球最大的私人软件公司,SAS简介 (Statistical Analysis System),2,SAS简介 (Statistical Analysis System),为金融、制造、电信、政府及教育部门提供数据仓库和决策支持系统 运用统计分析、时间序列、运筹决策等科学方法进行质量控制、财务管理、生产优化、风险管理、市场调查和预测等,3,一、SAS程序和SAS数据集,界面(显示管理系统):三个基本窗口 EDIT 编辑窗:编辑SAS程序 LOG 记录窗:程序运行过程、时间、错误信息(红色-错误 兰色-正常 绿色- 警告 ) OUTPUT结果输出窗:当程序运行无误,且有结
3、果输出时显示 其他:lib窗,4,5,由三部分组成;SAS语句以一个关键词开始, 以分号(;)结束; Data esr; 数据步:输入并建立数据 Input x; Cards; 3 9 8 6 5 5 7 3 10 8 10 4 ; Run; 过程步:调用现成的SAS过程,进行统计分析在程序最后,指示过程步或数据步结束,可以提交,SAS程序结构:,6,Log窗输出,7,Output窗输出,8,程序运行-在编辑窗输入程序后 点击图标 按功能键“F8” 在命令行(窗)键入“submit” 在local下拉菜单中选“submit ” 窗口内容保存-激活窗口后 在命令行(窗)键入 file “路径文件
4、名” 点击图标 在file下拉菜单中选“save ”或“save as” 只有编辑窗口(edit窗)才能打开文件,一、SAS程序和SAS数据集,9,SAS数据集建立-用input和cards语句直接输入,data child; /*建立临时数据集child.sd2,自动放在saswork子目录下*/ input id x1 $ x2 x3 x4 x5 x6; /* 指明要输入的变量 , $为字符型变量*/ cards; /*标志数据区开始,数据之间以一个或几个空格分隔*/1 m 32 95.5 14.0 53.5 49.642 m 35 92.0 13.0 52.0 41.613 m 33 8
5、9.0 12.5 53.5 35.81254 m 176 168.0 53.5 82.0 100.14255 f 30 91.0 11.0 48.0 35.39256 f 33 91.0 11.5 47.0 44.98521 f 178 163.0 51.0 79.0 87.42; /* 标志数据区结束,分号必须单独一行 */run;,10,SAS中的常用变量类型 数值型:不需特殊定义 字符型: 定义方式 变量名 $ 日期型:多种形式如: 变量名 mmddyy6. 实际记录为距1960/01/01的天数 其它数据库中的逻辑型、备注型变量在SAS中均为字符型变量。日期型变量转进SAS后一般也变为
6、字符型变量。,SAS数据集建立-用input和cards语句直接输入,11,data a1; input id x1 $ x2 x3 x4; cards; 1 m 32 95.5 2 m 35 92.0 13.0 3 m 33 89.0 12.5 ; proc print; run;结果: OBS ID X1 X2 X3 X4 1 1 m 32 95.5 2.0 2 3 m 33 89.0 12.5,data a1; input id x1 $ x2 x3; cards; 1 m 32 95.5 2 m 35 92.0 13.0 3 m 33 89.0 12.5 ; proc print; r
7、un;结果: OBS ID X1 X2 X31 1 m 32 95.52 2 m 35 92.03 3 m 33 89.0,SAS数据集建立,12,不分行符的使用data esr;input x ; /*每读入一天记录后,数据指针保持原位不换行,继续读下一条记录*/cards;3 9 8 6 5 5 7 3 10 8 10 4;proc means;run;结果:Analysis Variable : XN Mean Std Dev Minimum Maximum-12 6.5000000 2.5405797 3.0000000 10.0000000-,SAS数据集建立,13,缺失值的输入-
8、以 . 表示,缺失值不进入分析data child;input id x1 $ x2 x3 x4 x5 x6;cards;1 m 32 95.5 14.0 53.5 49.642 m 35 . 13.0 52.0 41.613 m 33 89.0 12.5 53.5 35.81254 m 176 168.0 53.5 82.0 100.14255 f 30 91.0 11.0 48.0 35.39256 f 33 91.0 11.5 47.0 44.98521 f 178 163.0 51.0 79.0 87.42; proc means; run;,SAS数据集建立,14,结果Variabl
9、e N Mean Std Dev Minimum Maximum-ID 7 184.5714286 194.9639771 1.0000000 521.0000000X2 7 73.8571429 70.4779601 30.0000000 178.0000000X3 6 116.2500000 38.2410120 89.0000000 168.0000000X4 7 23.7857143 19.4825930 11.0000000 53.5000000X5 7 59.2857143 14.7361719 47.0000000 82.0000000X6 7 56.4271429 26.254
10、0446 35.3900000 100.1400000-,SAS数据集建立,15,如已存在一纯文本文件c:child.txt,内容如下:1 m 32 95.5 14.0 53.5 49.642 m 35 92.0 13.0 52.0 41.613 m 33 89.0 12.5 53.5 35.81254 m 176 168.0 53.5 82.0 100.14255 f 30 91.0 11.0 48.0 35.39256 f 33 91.0 11.5 47.0 44.98521 f 178 163.0 51.0 79.0 87.42 可用infile 直接读入:Data child;Infile c:child.txt;Input id x1 $ x2 x3 x4 x5 x6;Run;,SAS数据集建立-Infile 和 input语句,16,利用file下拉菜单中的import功能 ,可转入: 文本型数据:空格分隔、逗号分隔、制表键分隔 Dbase II 和 III数据库(*.dbf) Excel数据库(7.0版及以下,*.xls)。SAS8以上可转入Excel97及2000的数据库有的数据可通过粘贴的方法贴到edit窗后,加入input和cards等语句,生成sas数据集。,SAS数据集建立-从其他数据集转入,