《SAS统计分析软件入门.ppt》由会员分享,可在线阅读,更多相关《SAS统计分析软件入门.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SAS统计分析软件入门数数据据采采集集与与统统计计分分析析 主讲主讲高高 洁洁2021/3/22课程目的与主要内容课程目的与主要内容1.数据采集部分数据采集部分-介绍主要的试验设计方法,用尽可能少的试验点采集尽可能多的信息.2.统计分析部分统计分析部分-介绍常用的统计分析方法,从数据中根据需要有效地提取信息.3.SAS软件部分软件部分-学习操作SAS,应用SAS进行数据的实际分析.2021/3/23统计数据处理分析方法的统计数据处理分析方法的应用软件应用软件 统计分析软件附 属 型独 立 型EXCELLOTUSSAS(Statistical Analysis System)SPSS(Stati
2、stical Program for Social Sciences)2021/3/24 预备篇预备篇:SAS统计分统计分析软件析软件入门入门 内容安排 概述 SAS操作方法 SAS/INSIGHT SAS/分析员应用 SAS编程 2021/3/25SAS(Statistical Analysis System),中文名“赛仕”,译为“统计分析系统”概概 述述2021/3/26国际上公认的标准统计软件之一。公司卓著的业绩使之被评为“全美国人最乐意为之工作的100家公司”之一 及最佳决策支持工具的供应商。发展1966年 美国北卡罗莱纳州州立大学 1972年 推出SAS72供大学使用版1976年
3、成 立 SAS研 究 所(SAS Institute Inc.),总部在美国北卡州凯瑞市 现已是全球最大的私人软件公司和全球排名第九位的独立软件商。目前达到SAS9.2版本。2021/3/27系统组成系统组成:三十几个模块,如BASE,GRAPH,ETS,FSP,AF,OR,IML,SHARE,QC,STAT,INSIGHT,ANALYST,ASSIST,CONNECT,CPE,LAB,EIS,WAREHOUSE,PC,GIS,SPECTRAVIEW,SHARE*NET,R/3,OnlineTutor:SAS Programming,MDDB Server,IT Service Vision
4、Client,IntrNet Compute Services,Enterprise Reporter,MDDB Server common products,Enterprise Miner,AppDev Studio,Integration Technologies等2021/3/28功能包括:功能包括:客户机/服务器计算、数据访问、数据存储及管理、应用开发、图形处理、数据分析、报告编制、质量控制、项目管理、计算机性能评估、运筹学方法、计量经济学与预测等2021/3/29q界面:界面:三个基本窗口三个基本窗口vEditor 编辑窗:在此编写SAS程序vLog 记录窗:记录程序运行过程中所做
5、的内容,如所运行的数据情况、所调用的过程步、程序运行时间等(红色红色-错误 绿色绿色-警告 兰色兰色-正常)vOutput结果输出窗:统计分析的结果。Result窗口,Explorer窗口v其他:keys窗、libname窗、options窗、var窗、dir窗(在command命令窗 或命令行command=输入相应的命令可激活这些窗口)SAS会话窗口会话窗口2021/3/210程序编辑窗口运行记录窗口结果输出窗口命令窗口Results窗口2021/3/211在命令窗口输入“keys”后情况命令行命令行命令窗命令窗(条条)2021/3/212常用的快捷键常用的快捷键F4 recall命令,用
6、于editor窗,将前面提交的程序调回,可多次使用F5 切换到editor窗;F6 切换到log窗;F7 切换到output窗F8 submit命令Ctrl-E 清除当前窗口的内容。editor窗被清除的内容不能用F4调回2021/3/213SAS9.01中文界面的几个窗口2021/3/214v使用ToolsOptions Preferences可修改界面显示,或输出文件的格式等。v在命令窗输入 num并回车,可在编辑窗口中加入行号。qSAS文件的扩展名v*.sd2 SAS数据集(6.12版)(必须以字母开头,长度不超过8位);8.0以上版为*.sas7bdat;v*.sas SAS程序文件程
7、序文件 v*.log log窗口输出 v*.lst SAS结果文件2021/3/215 SAS 软件操作方法软件操作方法三种操作方法:三种操作方法:SAS/INSIGHT最为直观,便于步步深入。SAS/Analyst application提供自动形成程序代码功能且在属性数据分析和功效函数计算方面比INSIGHT强。SAS编程功能最强,尤其是一些特殊或深入的统计分析功能只能通过编写程序来实现。2021/3/216一、一、SAS/INSIGHT调用调用SAS/INSIGHT有三种方法:有三种方法:1、可用菜单栏中的下拉菜单:SolutionsAnalysisInteractive data an
8、alysis;2、在命令行中键入INSIGHT命令;3、提交PROC INSIGHT语句或通过SAS/ASSIST.2021/3/217SAS/INSIGHT 的功能:File:提供处理读入数据集、存储数据集、分析结果的表格和图形管理;Edit:提供对打开的数据集的变量、观测值进行增删、设定数据的显示格式和窗口管理等;Analyze:提供作图和分析功能,分析功能包括:分布拟合、线性模型(包括回归分析、方差分析等)、多变量分析;Table:提供显示分析结果的各种表的功能;Graphs:提供生成与分析有关的各种图形的功能;Curves:提供与分析有关的各种曲线的功能;Vars:提供由分析结果形成的
9、新的变量的功能。2021/3/218二、二、SAS/Analyst application调用调用SAS/分析员应用有两种方法:分析员应用有两种方法:1、可用菜单栏中的下拉菜单:SolutionsAnalysisAnalyst;2、在命令行中键入Analyst命令.2021/3/219SAS/分析员应用 的功能:File:有关数据文件的新建、读、写、转换、打印和传输等;Edit:关于修改选项的一些功能;View、Data:对已打开的数据集进行编辑和加工,如对数据集行列的增、删、改、排序、转置和对数据集的随机抽样等;Graphs:图形功能,主要包括直方图、盒形图、等高线图、三维散点图和曲面图等;
10、Statistics:主要的统计分析功能,包括描述统计量的计算、列联表分析、假设检验、方差分析、回归分析、多变量分析和样本容量计算等。2021/3/220三、三、SAS编程编程SAS程序:程序:由数据步(DATA)和一个或多个过程步(PROC)组成。数据步:数据步:组织数据;过程步:过程步:对已组织好的数据进行处理并输出处理结果。2021/3/221 SAS语句语句以一个关键词开始以一个关键词开始,以以分号分号(;)结束结束;data a;input x;cards;323 54 45 65 ;proc print;run;SASSAS程序的基本结构程序的基本结构数据步数据步:创建数据过程步过
11、程步:调用数据分析过程或 Lines 或 Datalines2021/3/222运行编辑窗内程序运行编辑窗内程序点击图标按功能键“F8”在命令行(窗)键入“submit”在Run下拉菜单中选“submit”所激活窗口(所激活窗口(Editor、Log、Output)内容)内容的保存的保存在命令行(窗)键入 file“路径文件名”点击图标在file下拉菜单中选“save”或“save as”只有编辑窗口(editor窗)才能打开文件2021/3/223(一)(一)SAS语言基础语言基础data a;input x;cards;435465;proc print;run;以以关键词关键词开始开始S
12、AS 语语句;对于句;对于8.0以上以上SAS软件,软件,这些关键词显这些关键词显示为示为蓝色蓝色;如;如果显示为果显示为红色红色,则可能的关键则可能的关键词无效或拼写词无效或拼写错误错误dat a;input x;cards;435465;proc print;run;2021/3/2241.所有所有SAS语句必须以语句必须以“;”结结束束data a;input x;cards;435465;proc print;run;初学者最容易犯的错误就是不写分号。初学者最容易犯的错误就是不写分号。此时此时SASSAS将两个语句误认成一个语句将两个语句误认成一个语句(statementstateme
13、nt)。)。注意:注意:(1 1)一个一个SASSAS语句可以写成两行或多语句可以写成两行或多行,如行,如“datadata a;”可写成data a;(2)多个多个SAS语句可以写成简单的一行。语句可以写成简单的一行。如:如:“proc print;run;”2021/3/2252.程序的结束程序的结束data a;input x;cards;435465;proc print;run;2021/3/2263.数据集名与变量名数据集名与变量名data a;input x;cards;435465;proc print;run;数据集名称变量名称 数据集名与变量名取名时可以是字母、下划线、数字
14、,不能以数字开头,最多可以32个字符(SAS8.0以下软件的最大字符数为8个字符)字母可以大写、小写或大小写混合,因此Weight、weight、WEIgHT被SAS视为相同的变量。2021/3/2274.变量的排列变量的排列data a;input x;cards;435465;proc print;run;如果有多个变量,如如果有多个变量,如HeightHeight、WeightWeight、AgeAge、SexSex,JobJob则在则在SASSAS中排列为中排列为“input Height Weight Age Sex Job;”如果将以上变量用代号如果将以上变量用代号x1x1、x2x
15、2、x3x3、x4x4、x5x5表示,则语句可写为:表示,则语句可写为:“input x1 x2 x3 x4 x5;”或简写为:或简写为:“input x1-x5;”2021/3/2285.输入数据的标识语句输入数据的标识语句data a;input x;cards;435465;proc print;run;cards;或或datalines;或或lines;语句之后表示数据的输入即将开始。数据的变量名、变量的格式等在input语句中定义。数据输入结束,也必须采用分号结束。2021/3/229(二)数据步(二)数据步data a;input x;cards;435465;proc print
16、;run;数据分析前,数据集必须数据分析前,数据集必须被读入。被读入。读入数据方法:1.直接创建;2.Infile 和 input语句创建;3.对1.、2.数据进行简单编辑,创建新的变量等。2021/3/2301.直接创建数据集直接创建数据集data child;/*建立临时数据集child.sd2,自动放在saswork子目录下*/input id x1$x2 x3 x4 x5 x6;/*指明要输入的变量,$为字符型变量*/cards;/*标志数据区开始,数据之间以一个或几个空格分隔*/1 m 32 95.5 14.0 53.5 49.64 2 m 35 92.0 13.0 52.0 41.
17、61 3 m 33 89.0 12.5 53.5 35.81 254 m 176 168.0 53.5 82.0 100.14 255 f 30 91.0 11.0 48.0 35.39 256 f 33 91.0 11.5 47.0 44.98 521 f 178 163.0 51.0 79.0 87.42 ;/*标志数据区结束,分号必须单独一行 */run;2021/3/231SAS中的常用变量类型数值型:不需特殊定义字符型:定义方式 变量名变量名$日期型:多种形式如:变量名变量名 mmddyy6.实际记录为距1960/01/01的天数输入格式可以是:091004 09/10/04 09
18、10 04 09102004其它数据库中的逻辑型、备注型变量在SAS中均为字符型变量。日期型变量转进SAS后一般也变为字符型变量。2021/3/232data a1;input id x1$x2 x3 x4;cards;1 m 32 95.52 m 35 92.0 13.03 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.5data a1;input id x1$x2 x3;cards;1 m 32 95.52 m 35 92.0 13.03 m 33 89.0 12
19、.5;proc print;run;结果:Obs id x1 x2 x3 1 1 m 32 95.5 2 2 m 35 92.0 3 3 m 33 89.0SAS数据集创建时存在的问题数据集创建时存在的问题2021/3/233 data child;input id x1$x2 x3 x4 x5 x6;cards;1 m 32 95.5 14.0 53.5 49.64 2 m 35 .13.0 52.0 41.61 3 m 33 89.0 12.5 53.5 35.81 254 m 176 168.0 53.5 82.0 100.14 255 f 30 91.0 11.0 48.0 35.39
20、 256 f 33 91.0 11.5 47.0 44.98 521 f 178 163.0 51.0 79.0 87.42 ;proc means;run;缺失值的输入缺失值的输入:以以“.”表示,缺失表示,缺失值不进入分析值不进入分析 Variable N Mean Std Dev Minimum Maximum -id 7 184.5714286 194.9639771 1.0000000 521.0000000 x2 7 73.8571429 70.4779601 30.0000000 178.0000000 x3 6 116.2500000 38.2410120 89.0000000
21、 168.0000000 x4 7 23.7857143 19.4825930 11.0000000 53.5000000 x5 7 59.2857143 14.7361719 47.0000000 82.0000000 x6 7 56.4271429 26.2540446 35.3900000 100.1400000 -2021/3/234 data esr;input x;/*每读入一个记录后,数据指针保持原位不换行,继续读下一条记录*/cards;3 9 8 6 5 5 7 3 10 8 10 4 ;proc means;run;结果:N Mean Std Dev Minimum Max
22、imum -2 6.5000000 2.5405797 3.0000000 10.0000000 -不分行符不分行符的使用的使用2021/3/235如已存在一纯文本文件c:child.txt,内容如下:1 m 32 95.5 14.0 53.5 49.64 2 m 35 92.0 13.0 52.0 41.61 3 m 33 89.0 12.5 53.5 35.81 254 m 176 168.0 53.5 82.0 100.14 255 f 30 91.0 11.0 48.0 35.39 256 f 33 91.0 11.5 47.0 44.98 521 f 178 163.0 51.0 7
23、9.0 87.42可用infile 直接读入:Data child;Infile c:/child.txt;Input id x1$x2 x3 x4 x5 x6;proc print;Run;2.Infile 和和 input 语句创建数据语句创建数据2021/3/236如从现有SAS文件“child”中读取数据,变成文件名为“school”的文件。data school;set child;x=x3-x2;proc print;Run;3.从现有从现有SAS数据集中读取数据数据集中读取数据2021/3/237前面所产生的文件都是临时文件,退出SAS后,这些文件将自动删除。为了将文件变成永久性
24、数据集存储在磁盘上,可采用libname语句。libname ych f:/sasdata;data ych.student;set school;run;4.在磁盘上存储在磁盘上存储SAS数据集数据集用ych代表子目录“f:/sasdata”,可任意取名,但应与打算建立的文件名前的前缀相同2021/3/238 SAS数据集名称的表示方式数据集名称的表示方式:库关联名库关联名.数据集名数据集名 永久数据集永久数据集 格式:格式:libname 库关联名 “盘符:路径”;如:libname ych f:SASdata;ych 为库关联名,代表路径 f:SASdata;库关联名可任意取,一旦定义,
25、只要不退出SAS,始终有效(因为libname 命令为全局命令)。但路径必须实际存在。临时数据集:临时数据集:每次启动SAS时,会自动开辟一个临时存储区,其库关联名为WORK,代表sassaswork子目录。一旦退出sas,临时存储区数据集文件自动删除,称为临时数据集临时数据集的库关联名默认为work,均省略不写。如 data child;(实际为work.child)永久数据集和临时数据集永久数据集和临时数据集2021/3/239利用file下拉菜单中的import功能,可转入:文本型数据:空格分隔、逗号分隔、制表键分隔Dbase 数据库(*.dbf)Excel数据库有的数据可通过粘贴的方法
26、贴到Editor窗,然后采用input和cards等语句,直接生成sas数据集。5.从其他数据集转入从其他数据集转入2021/3/2402021/3/2412021/3/2422021/3/243输出数据:(与刚才正好相反)2021/3/244u变量赋值:变量赋值:变量名=表达式;如x5=x4*0.5;x=x3-x2;teamgreen;缺失值赋值举例:age.;字符型变量:team;if then ;else ;如 if sex=1 then t=f1+f2+f3;u子集化:子集化:用keep或drop语句整理变量名表 keep;drop;6.修改修改 SAS 数据数据2021/3/2452
27、021/3/246 SAS运算符运算符举例演示举例演示 data E21;input N$x1 x2 x3;/*说明N是字符型变量,N后加$*/y=x1+x2;z=x1*x2;u=x1*3;/*用加,乘,乘方产生新变量*/cards;/*说明以下输入数据*/A 1.1 2.6 3.8 B 4.5 5.7 6.0 C 7.6 8.2 9.7;/*空语句说明数据输入结束*/Proc print;/*有此打印语句则在output窗口有输出,否则只在explorerwork储存*/run;请看演示2021/3/247data b1;set child;if id200 then group=1;els
28、e group=2;rename id=x0;keep id x1 x2 group;proc print;run;注:keep id x1 x2 group等价于 drop x3-x6;OBS X0 X1 X2 GROUP 1 1 m 32 1 2 2 m 35 1 3 3 m 33 1 4 254 m 176 2 5 255 f 30 2 6 256 f 33 2 7 521 f 178 2SAS 数据集的整理举例数据集的整理举例2021/3/2481.算术函数算术函数 绝对值函数:ABS(x)平方根函数:SQRT(x)符号函数:SIGN(x)2.最大、最小最大、最小值值函数函数:MAX(
29、范围)、MIN(范围)3.截取函数截取函数 取整函数:INT(x)ROUND(x,舍入精度):按规定舍入精度取一近似值的函数.例 ROUND(323.456,100)=300 CEIL(x):取大于等于自变量的最小整数的函数.FLOOR(x):取小于等于自变量的最大整数的函数.7.SAS 函数函数2021/3/2494.数学函数数学函数 Exp(x)Log(x)Log2(x)Log10(x)Sin(x)Cos(x)Tan(x)Arsin(x)Arcos(x)Atan(x)5.分布函数分布函数 泊松分布函数:POISSON(参数,x)二项分布函数:PROBBNML(p,n,x)标准正态分布:PR
30、OBNORM(x)t 分布:PROBT(x,df)卡方分布:PROBCH(x,df)F分布:PROBF(x,ndf,ddf)2021/3/2506.6.分位数函数分位数函数(其中alpha是事先规定的右侧尾端概率)标准正态分布分位数函数:PROBIT(1-alpha)t 分布分位数函数:TINV(1-alpha,df)卡方分布分位数函数:CINV(1-alpha,df)F分布分位数函数:FINV(1-alpha,ndf,ddf,)7.7.随随机机数数函函数数 seed(每随意赋一个值可得到给定分布的随机变量抽样值)均匀分布随机数函数:UNIFORM(seed)或RANuni(seed)标准正态
31、分布随机数函数:normal(seed)或 RANnor(seed)均值为a方差为2 的正态分布随机数函数:X=a+sqrt(2)*RANnor(seed)2021/3/251例例1Data A;a1=3;a2=-8;a3=14;a4=-27;X=MAX(of a1-a4);Y=MIN(of a1-a4);put X Y;run;例例2Data B;P=POISSON(1,3);put P;run;2021/3/252例例3data C;A=INT(323.456);B=ROUND(323.456,100);C=CEIL(-3.4);D=FLOOR(3.4);put A B C D;run;2
32、021/3/253例例4 4data norm;do seed=1 to 100;x=170+sqrt(30)*rannor(seed);/*x=均值为170,方差为30的正态分布随机数*/y=170+sqrt(30)*rannor(seed);/*注意由于是随机数,两组结果不一样,且每次都不一样*/output;end;proc print;run;以下程序运行后产生两组各以下程序运行后产生两组各100个抽样于均值为个抽样于均值为170,方差为方差为30 的正态分布随机数。的正态分布随机数。2021/3/254(三)过程步(三)过程步 过程步(procedure step)是以关键字PROC
33、开始的一个或多个SAS语句。过程步的结构一般为:PROC 过程名 过程选择项;语句 /语句选择项;语句 语句选择项 ;语句;2021/3/255常用常用SAS 过程步过程步PRINT(按要求输出结果)(按要求输出结果)SORT(排序)(排序)UNIVARIATE、MEANS(定量资料的描述性统计定量资料的描述性统计)CHART(绘制直方图)(绘制直方图)PLOT(绘制散点图)(绘制散点图)FREQ(产生(产生1n 维的频数表和交叉表)维的频数表和交叉表)TTEST(t 检验)检验)ANOVA(方差分析)(方差分析)GLM(回归分析、方差分析、协方差分析等)(回归分析、方差分析、协方差分析等)C
34、ORR(计算相关系数)(计算相关系数)REG(简单与多重回归)(简单与多重回归)NPAR1WAY(非参数检验)(非参数检验)2021/3/256常用常用SAS 语句选择项语句选择项VAR :规定打印紧跟其后的变量ID :用紧跟其后变量值的顺序代替观测值序数去标识输出的观察值BY :指定机器把数据集分成若干个小组,每组中BY后的变量值相同,分组打印这些组的观察值2021/3/257例例1data aa;input number x y;cards;1 10.98 202 11.13 303 12.51 304 8.40 205 9.27 406 8.73 507 6.36 40;proc pri
35、nt;Var x;(id y;)(by y;)run;proc plot data=aa;plot y*x=*;run;2021/3/258例例2data sales;input ry$fwcs hjcs xssl;cards;A 3 12 28000 B 6 14 33000 C 2 6 8000A 0 22 0 A 2 19 12000 C 4 8 13000 C 8 7 27000 B 3 16 8000 B 2 14 2000;proc print;Title 销售数据;Footnote 2006.9;run;proc means;var xssl;Title 销售人员的平均销售数量;run;proc chart;vbar xssl/group=ry;Title 销售人员的销售数量;run;2021/3/2592021/3/260