《统计分析软件应用.pptx》由会员分享,可在线阅读,更多相关《统计分析软件应用.pptx(128页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1统计分析软件应用统计分析软件应用2第一节第一节 SASSAS软件简介软件简介19661966年美国年美国年美国年美国North CarolinaNorth Carolina州立大学的两位生物州立大学的两位生物州立大学的两位生物州立大学的两位生物统计学研究生开始研制统计学研究生开始研制统计学研究生开始研制统计学研究生开始研制SASSAS系统,直至系统,直至系统,直至系统,直至19761976年成立了年成立了年成立了年成立了SASSAS软件研究所,正式推出了软件研究所,正式推出了软件研究所,正式推出了软件研究所,正式推出了SASSAS软件,软件,软件,软件,19851985年推出微年推出微
2、年推出微年推出微机版机版机版机版SASSAS。SASSAS是用于决策支持的大型集成信息系统,软件是用于决策支持的大型集成信息系统,软件是用于决策支持的大型集成信息系统,软件是用于决策支持的大型集成信息系统,软件系统最早的功能限于统计分析,逐渐成为一个用来管系统最早的功能限于统计分析,逐渐成为一个用来管系统最早的功能限于统计分析,逐渐成为一个用来管系统最早的功能限于统计分析,逐渐成为一个用来管理、分析数据和编写报告的大型集成应用软件系统,理、分析数据和编写报告的大型集成应用软件系统,理、分析数据和编写报告的大型集成应用软件系统,理、分析数据和编写报告的大型集成应用软件系统,具有完备的数据访问、管
3、理、分析、呈现及应用开发具有完备的数据访问、管理、分析、呈现及应用开发具有完备的数据访问、管理、分析、呈现及应用开发具有完备的数据访问、管理、分析、呈现及应用开发等功能,完全超出了单纯统计应用的功能。属于世界等功能,完全超出了单纯统计应用的功能。属于世界等功能,完全超出了单纯统计应用的功能。属于世界等功能,完全超出了单纯统计应用的功能。属于世界领先,使用最为广泛的统计软件之一。领先,使用最为广泛的统计软件之一。领先,使用最为广泛的统计软件之一。领先,使用最为广泛的统计软件之一。第1页/共128页3由于由于SAS系统是从大型机上系统是从大型机上的系统发展而来,在设计上也是的系统发展而来,在设计上
4、也是完全针对专业用户进行设计,因完全针对专业用户进行设计,因此操作以此操作以SAS语言编程为主,另语言编程为主,另外也有非编程方式的菜单系统,外也有非编程方式的菜单系统,但人机对话的界面不太友好。但人机对话的界面不太友好。学习学习SAS软件时,需要用户软件时,需要用户有基本的统计学知识,对所选用有基本的统计学知识,对所选用的统计方法有较清楚的了解,没的统计方法有较清楚的了解,没有统计学基础知识要掌握有统计学基础知识要掌握SAS软软件较为困难。件较为困难。第2页/共128页4SASSAS系统是一个模块化的组合软件系统,它系统是一个模块化的组合软件系统,它系统是一个模块化的组合软件系统,它系统是一
5、个模块化的组合软件系统,它提供了约提供了约提供了约提供了约2020多个模块,各个模块之间既相互独立又多个模块,各个模块之间既相互独立又多个模块,各个模块之间既相互独立又多个模块,各个模块之间既相互独立又相互交融补充。本课程用得最多的是相互交融补充。本课程用得最多的是相互交融补充。本课程用得最多的是相互交融补充。本课程用得最多的是Base SASBase SAS模块模块模块模块和和和和SAS/STATSAS/STAT模块。模块。模块。模块。Base SASBase SAS是是是是SASSAS系统的基础。系统的基础。系统的基础。系统的基础。它既可以单独它既可以单独它既可以单独它既可以单独使用,也可
6、以与其他模块组成一个用户化的使用,也可以与其他模块组成一个用户化的使用,也可以与其他模块组成一个用户化的使用,也可以与其他模块组成一个用户化的SASSAS系系系系统,但是其他模块必须与之结合起来才能使用。统,但是其他模块必须与之结合起来才能使用。统,但是其他模块必须与之结合起来才能使用。统,但是其他模块必须与之结合起来才能使用。Base SASBase SAS主要承担着数据及用户使用环境的管理、主要承担着数据及用户使用环境的管理、主要承担着数据及用户使用环境的管理、主要承担着数据及用户使用环境的管理、SASSAS语言程序的处理,并具有基本的数据分析和报语言程序的处理,并具有基本的数据分析和报语
7、言程序的处理,并具有基本的数据分析和报语言程序的处理,并具有基本的数据分析和报告等统计功能。告等统计功能。告等统计功能。告等统计功能。第3页/共128页5SAS/STAT提供了当今流行提供了当今流行的主要统计分析方法的主要统计分析方法,是国际上,是国际上统计分析领域的标准权威软件。统计分析领域的标准权威软件。它具有回归分析、方差分析、属它具有回归分析、方差分析、属性数据分析、多元分析、聚类分性数据分析、多元分析、聚类分析、判别分析、非参数分析、生析、判别分析、非参数分析、生存分析和心理测量分析等统计功存分析和心理测量分析等统计功能。能。第4页/共128页6第二节第二节第二节第二节 SASSAS
8、SASSAS软件的使用基础软件的使用基础软件的使用基础软件的使用基础一、一、SAS的启动和退出的启动和退出 vv启动启动SASvv双击桌面双击桌面SASSAS图标图标vv开始菜单开始菜单 程序程序 The Sas System The Sas System The Sas System for Windows V*.*The Sas System for Windows V*.*vv直接双击直接双击SASSAS应用程序应用程序vv退出退出SASvv标题栏关闭按钮标题栏关闭按钮vv菜单栏菜单栏 File ExitFile Exit第5页/共128页7 标题栏、菜单栏、工具栏标题栏、菜单栏、工具栏
9、vEditor 程序编辑器窗口vLOG 运行过程日志窗口vOutput 结果输出窗口vExplorer 资源管理器窗口vResults 结果索引窗口三个窗口间切换F4 Recall (调回程序)F5 Editor (程序)F8 Submit (发送程序)F6 LOG (日志)F1 Help (帮助)F7 Output (结果)F9 Keys (功能键列表)二、二、二、二、SASSAS的工作窗口的工作窗口的工作窗口的工作窗口SAS常用功能键常用功能键第6页/共128页8第二节第二节第二节第二节 SASSASSASSAS软件的使用基础软件的使用基础软件的使用基础软件的使用基础第7页/共128页9v
10、Editor窗口窗口 主要用于打开SAS程序文件(*.sas)、编辑和修改SAS程序、并提交全部或部分SAS程序。vLOG窗口窗口显示有关的SAS会话和提交SAS程序的信息,包括程序的出错信息等(*.log)vOutput窗口窗口 主要显示提交SAS程序后的运行结果(*.lst)vExplorer窗口窗口 主要用于查看和管理所有SAS文件,而且可以对非SAS文件创建快捷方式。vResults 窗口窗口 主要用于操作和管理提交SAS程序后的输出结果。他的内容与Output窗口的内容一一对应,可以看成是Output窗口内容的名称。二、二、二、二、SASSAS的工作窗口的工作窗口的工作窗口的工作窗口
11、第8页/共128页10第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序一、一、SAS 语句语句 一个一个SASSAS语句就是要求语句就是要求SASSAS系统执行某种操系统执行某种操作或给作或给SASSAS系统提供一些信息的命令。系统提供一些信息的命令。SASSAS语句通常由语句通常由语句通常由语句通常由SASSAS关键字、关键字、关键字、关键字、SASSAS名称、运算符及特殊名称、运算符及特殊名称、运算符及特殊名称、运算符及特殊字符组成字符组成字符组成字符组成。规则:规则:(1 1)以)以 ;结尾;结尾(2 2)以)以SASSA
12、S关键字开始。如:关键字开始。如:data,proc,input,cards,model,class,if,keep,set,rundata,proc,input,cards,model,class,if,keep,set,run第9页/共128页11第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序一、一、SAS 语句语句(3 3)注释语句可以用)注释语句可以用*开始,或者用开始,或者用/*/*/表示中表示中间内容是注释语句。间内容是注释语句。例例1.11.1Data sas1_1;/*sas1_1Data sas1_1;/*s
13、as1_1是数据集名是数据集名*/Input id name$height weight;Input id name$height weight;Bmi=weight/height*2;Bmi=weight/height*2;Cards;/*Cards;/*数据流开始数据流开始*/1 judy 1.56 45 2 lucy 1.67 53 3 lili 1.58 501 judy 1.56 45 2 lucy 1.67 53 3 lili 1.58 50;/*;/*数据流结束数据流结束*/Proc print data=sas1_1;Proc print data=sas1_1;Run;Run
14、;第10页/共128页12第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序一、一、一、一、SAS SAS 语句语句语句语句 1.SAS1.SAS关键字关键字关键字关键字 几乎所有的几乎所有的SASSAS语句都是由语句都是由SASSAS关键字开始的,关键字开始的,说明说明SASSAS语句的类型。语句的类型。datadata语句,语句,inputinput语句,语句,procproc语句,语句,runrun语句语句2.SAS2.SAS数据集名和变量名数据集名和变量名数据集名和变量名数据集名和变量名 (1 1)3232个字符之内,个字
15、符之内,(2 2)第一个字母必须为字母或)第一个字母必须为字母或_ _;第二个以后可以为字母或;第二个以后可以为字母或数字。数字。(3 3)字母不区分大小写。)字母不区分大小写。(4 4)不能使用空格和)不能使用空格和%¥#$#$等特殊字符等特殊字符第11页/共128页13第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序一、一、一、一、SAS SAS 语句语句语句语句 3.SAS3.SAS运算符运算符运算符运算符 包括比较运算、算术运算、逻辑运算包括比较运算、算术运算、逻辑运算(1 1)算数运算符)算数运算符 +-*/*+-*/
16、*(2 2)比较运算符)比较运算符 =2 and y3 x2 and y3 or/|or/|逻辑或逻辑或 x2 or y3x2 or y3Not/Not/逻辑非逻辑非 最大最大 3535;结果为;结果为5 55;结果为;结果为3 3|连接连接 A=my name is;B=SAS;C=A|B;A=my name is;B=SAS;C=A|B;那么那么C=“my name is SAS”C=“my name is SAS”第12页/共128页14第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序一、一、一、一、SAS SAS 语句语
17、句语句语句 4.SAS4.SAS函数函数函数函数 函数的一般形式:函数的一般形式:函数的一般形式:函数的一般形式:函数名(自变量,自变量,函数名(自变量,自变量,函数名(自变量,自变量,函数名(自变量,自变量,)(1)SAS(1)SAS常用的概率和密度函数常用的概率和密度函数常用的概率和密度函数常用的概率和密度函数标准正态分布密度函数:标准正态分布密度函数:标准正态分布密度函数:标准正态分布密度函数:probnorm(x)probnorm(x)如:如:如:如:y=probnorm(-1.96);y=probnorm(-1.96);结果为结果为结果为结果为0.0250.025t t分布密度函数:
18、分布密度函数:分布密度函数:分布密度函数:probt(x,df)probt(x,df)如:如:如:如:y1=probt(0.95,100);y1=probt(0.95,100);结果为结果为结果为结果为0.827800.82780F F分布密度函数:分布密度函数:分布密度函数:分布密度函数:probF(x,df1,df2)probF(x,df1,df2)2 2分布密度函数:分布密度函数:分布密度函数:分布密度函数:probCHI(x,df)probCHI(x,df)二项分布概率函数:二项分布概率函数:二项分布概率函数:二项分布概率函数:probBNML(p,n,m)probBNML(p,n,m
19、)泊松分布概率函数:泊松分布概率函数:泊松分布概率函数:泊松分布概率函数:poisson(m,n)poisson(m,n)第13页/共128页15第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序正态分布分位数函数:正态分布分位数函数:正态分布分位数函数:正态分布分位数函数:probit(p)0p1probit(p)0p1 如:如:如:如:y=probit(0.025),y=probit(0.025),结果为结果为结果为结果为-1.96-1.96t t分布分位数函数:分布分位数函数:分布分位数函数:分布分位数函数:TINV(p,d
20、f)TINV(p,df)F F分布分位数函数:分布分位数函数:分布分位数函数:分布分位数函数:FINV(p,df1,df2)FINV(p,df1,df2)2 2分布分位数函数:分布分位数函数:分布分位数函数:分布分位数函数:CINV(p,df)CINV(p,df)其它常用函数其它常用函数其它常用函数其它常用函数ABS(x)-ABS(x)-取取取取X X的绝对值的绝对值的绝对值的绝对值SQRT(x)-SQRT(x)-计算计算计算计算X X的平方根的平方根的平方根的平方根MOD(x,y)-MOD(x,y)-求求求求x/yx/y的余数的余数的余数的余数第14页/共128页16第三节第三节第三节第三节
21、 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序EXP(x)-EXP(x)-计算计算计算计算e e的的的的x x次幂次幂次幂次幂LOG(x)-LOG(x)-对自变量对自变量对自变量对自变量x x求以求以求以求以e e为底的自然对数为底的自然对数为底的自然对数为底的自然对数LOG10(x)-LOG10(x)-对自变量对自变量对自变量对自变量x x求以求以求以求以1010为底的对数为底的对数为底的对数为底的对数CEIL(x)-CEIL(x)-取取取取 自变量自变量自变量自变量x x的最小整数。的最小整数。的最小整数。的最小整数。如如如如CEIL(5.7)=
22、6CEIL(5.7)=6FLOOR(x)-FLOOR(x)-取取取取 自变量自变量自变量自变量x x的最大整数。的最大整数。的最大整数。的最大整数。如如如如CEIL(5.7)=5CEIL(5.7)=5INT(x)-INT(x)-取取取取X X的整数部分的整数部分的整数部分的整数部分ROUND(x,n)-XROUND(x,n)-X按按按按n n的精度取舍入值的精度取舍入值的精度取舍入值的精度取舍入值第15页/共128页17第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序datadata sas1_2;sas1_2;y1=probn
23、orm(-y1=probnorm(-1.961.96););/*/*标准正态分布密度函数标准正态分布密度函数标准正态分布密度函数标准正态分布密度函数*/y2=probt(y2=probt(0.950.95,100100););/*/*t t分布密度函数分布密度函数分布密度函数分布密度函数*/y3=probit(y3=probit(0.0250.025););/*/*正态分布分位数函数正态分布分位数函数正态分布分位数函数正态分布分位数函数*/x1=log10(x1=log10(100100););/*/*对自变量对自变量对自变量对自变量x x求以求以求以求以1010为底的对数为底的对数为底的对数
24、为底的对数*/x2=exp(x2=exp(2 2););/*/*计算计算计算计算e e的的的的x x次幂次幂次幂次幂*/x3=CEIL(x3=CEIL(5.75.7);/*);/*取取取取 自变量自变量自变量自变量x x的最小整数的最小整数的最小整数的最小整数*/*/x4=ABS(-x4=ABS(-8 8););/*/*取取取取X X的绝对值的绝对值的绝对值的绝对值*/*/x5=SQRT(x5=SQRT(3636););/*/*计算计算计算计算X X的平方根的平方根的平方根的平方根*/*/x6=MOD(x6=MOD(1010,3 3););/*/*求求求求x/yx/y的余数的余数的余数的余数*
25、/*/x7=FLOOR(x7=FLOOR(5.75.7););/*/*取取取取 自变量自变量自变量自变量x x的最大整数的最大整数的最大整数的最大整数*/*/x8=INT(x8=INT(5.68745.6874););/*/*取取取取X X的整数部分的整数部分的整数部分的整数部分*/*/x9=ROUND(x9=ROUND(5.48745.4874,0.0010.001););/*/*X X按按按按n n的精度取舍入值的精度取舍入值的精度取舍入值的精度取舍入值*/*/A=my name is;A=my name is;B=SAS;B=SAS;C=A|B;C=A|B;procproc printp
26、rint data=sas1_2;data=sas1_2;runrun;第16页/共128页18第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序二、二、SAS 程序程序 将一系列将一系列将一系列将一系列SASSAS语句按逻辑顺序排列起来,构成语句按逻辑顺序排列起来,构成语句按逻辑顺序排列起来,构成语句按逻辑顺序排列起来,构成SASSAS程序。程序。程序。程序。通常包括数据步和过程步两部分。通常包括数据步和过程步两部分。通常包括数据步和过程步两部分。通常包括数据步和过程步两部分。数据步数据步数据步数据步以以以以datadata语句
27、开头,以语句开头,以语句开头,以语句开头,以runrun语句结束。主要作用是语句结束。主要作用是语句结束。主要作用是语句结束。主要作用是建立数据集。建立数据集。建立数据集。建立数据集。过程步过程步过程步过程步以以以以procproc开头,以开头,以开头,以开头,以runrun语句结束。主要作用是激活语句结束。主要作用是激活语句结束。主要作用是激活语句结束。主要作用是激活SASSAS过程对数据进行处理和分析。过程对数据进行处理和分析。过程对数据进行处理和分析。过程对数据进行处理和分析。提交提交提交提交SASSAS程序:(程序:(程序:(程序:(1 1)工具栏提交图标,)工具栏提交图标,)工具栏提
28、交图标,)工具栏提交图标,(2 2)run/submitrun/submit,(3 3)使用)使用)使用)使用F3F3功能键功能键功能键功能键第17页/共128页19第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序二、二、二、二、SAS SAS 程序程序程序程序 程序的储存:(程序的储存:(程序的储存:(程序的储存:(1 1)键入)键入)键入)键入“file file 路径路径路径路径+文件名文件名文件名文件名.扩展名扩展名扩展名扩展名”如:如:如:如:file d:usersas1-1.sas;file d:usersas1-
29、1.sas;(2 2)“文件文件文件文件”菜单菜单菜单菜单“保存保存保存保存”程序的调用:(程序的调用:(程序的调用:(程序的调用:(1 1)键入)键入)键入)键入infileinfile路径路径路径路径+文件名文件名文件名文件名+扩展名扩展名扩展名扩展名 如:如:如:如:infile d:usersas1-1.sas;infile d:usersas1-1.sas;(2 2)“文件文件文件文件”菜单菜单菜单菜单“打开打开打开打开”第18页/共128页20第三节第三节第三节第三节 SASSASSASSAS语言的语句和程序语言的语句和程序语言的语句和程序语言的语句和程序例例1.3 SAS程序举例
30、程序举例data sas1_3;/*data sas1_3;/*创建名为创建名为sas1_3sas1_3的的SASSAS数据集数据集*/Input id nam$height weight;Input id nam$height weight;bmi=weight/height*2;bmi=weight/height*2;cards;cards;1 Judy 1.56 45 /*1 Judy 1.56 45 /*数据流中每个数据值之间最少有数据流中每个数据值之间最少有1 1各空格各空格*/2 Lucy 1.67 532 Lucy 1.67 53;run;/*run;/*数据步结束数据步结束*/
31、proc print data=sas1_3;/*proc print data=sas1_3;/*显示输出显示输出sas1_3sas1_3数据集到数据集到outputoutput窗口窗口*/run;/*run;/*过程步结束过程步结束*/第19页/共128页21第二章第二章第二章第二章 建立建立建立建立SASSASSASSAS数据集数据集数据集数据集第一节第一节第一节第一节 SASSAS数据集概述数据集概述数据集概述数据集概述一、一、一、一、SASSAS数据集基本格式数据集基本格式数据集基本格式数据集基本格式SAS数据集可以看做由若干行和若干列组成的表格,数据集可以看做由若干行和若干列组成的
32、表格,一个数据集等价于关系型数据库中的一个表。一个数据集等价于关系型数据库中的一个表。idnameheightweight1Judy156452Lucy167533Susan156554tony17870变量观测观测变量有两种类型:变量有两种类型:数值型变量数值型变量 字符型变量字符型变量第20页/共128页22第二章第二章第二章第二章 建立建立建立建立SASSASSASSAS数据集数据集数据集数据集第一节第一节第一节第一节 SASSAS数据集概述数据集概述数据集概述数据集概述一、一、一、一、SASSAS数据集基本格式数据集基本格式数据集基本格式数据集基本格式例例2_1 缺失值的例子缺失值的例
33、子Data sas2_1;Input id name$height weight;If name=999 then name=.;If weight=999 then weight=.;Cards;1 Judy 156 999 2 Lucy 167 58 3 999 165 55 4 Tomy 178 62;Proc print data=sas2_1;run;第21页/共128页23第二章第二章第二章第二章 建立建立建立建立SASSASSASSAS数据集数据集数据集数据集二、临时二、临时二、临时二、临时SASSAS数据集和永久数据集和永久数据集和永久数据集和永久SASSAS数据集数据集数据集
34、数据集临时数据集临时数据集只能在只能在SAS会话过程中创建使用,一旦退会话过程中创建使用,一旦退出出SAS,数据集就不存在了。,数据集就不存在了。在在Explorer窗口中可以看到一个名为窗口中可以看到一个名为work的的SAS数数据库,主要存放据库,主要存放SAS临时数据集。创建时可以用两水临时数据集。创建时可以用两水平命名方式:如平命名方式:如work.数据集名数据集名,也可以用,也可以用一水平的一水平的命名方式命名方式:如:如数据集名。数据集名。第22页/共128页24二、临时二、临时二、临时二、临时SASSAS数据集和永久数据集和永久数据集和永久数据集和永久SASSAS数据集数据集数据
35、集数据集永久性数据集永久性数据集储存在硬盘里,因此,在以后的每一次储存在硬盘里,因此,在以后的每一次SAS会话中都可以在打开。在创建和使用会话中都可以在打开。在创建和使用SAS永久性永久性数据集之前,需要先建立一个数据集之前,需要先建立一个SAS数据库来制定永久数据库来制定永久数据集存放的路径。一个数据集存放的路径。一个SAS数据库相当于硬盘上的数据库相当于硬盘上的一个文件夹,可以将一个文件夹,可以将SAS数据集写入或读出。数据集写入或读出。命名永久性数据集时必须用命名永久性数据集时必须用两水平的命名方式两水平的命名方式,即,即数数据库名据库名.数据集名数据集名,数据库名实际是一个,数据库名实
36、际是一个SAS数据库的数据库的逻辑名。逻辑名。第二章第二章第二章第二章 建立建立建立建立SASSASSASSAS数据集数据集数据集数据集第23页/共128页25例例2_2 SAS程序举例程序举例libname tj d:user;/*libname tj d:user;/*创建名为创建名为tj tj的的sassas数据库数据库*/datadata tj.sas2_2;/*tj.sas2_2;/*创建永久性数据集创建永久性数据集sas2_2sas2_2,保存在,保存在 d:userd:user下下*/Input id name$height weight;Input id name$height
37、 weight;bmi=weight/height*bmi=weight/height*2 2;cards;cards;1 Judy 1.56 45 1 Judy 1.56 45 2 Lucy 1.67 532 Lucy 1.67 53;runrun;procproc printprint data=tj.sas2_2;/*data=tj.sas2_2;/*将保存在将保存在 d:userd:user的数据的数据集集sas2_2sas2_2显示输出到显示输出到outputoutput窗口窗口*/runrun;第二章第二章第二章第二章 建立建立建立建立SASSASSASSAS数据集数据集数据集数据
38、集第24页/共128页26第二章第二章第二章第二章 建立建立建立建立SASSASSASSAS数据集数据集数据集数据集第二节第二节第二节第二节 SASSAS数据集的建立数据集的建立数据集的建立数据集的建立一、用数据步创建一、用数据步创建一、用数据步创建一、用数据步创建SASSAS数据集数据集数据集数据集创建创建创建创建SASSAS数据集最主要的方式是使用数据集最主要的方式是使用数据集最主要的方式是使用数据集最主要的方式是使用Base SASBase SAS中的数据步。一中的数据步。一中的数据步。一中的数据步。一个个个个SASSAS数据步由数据步由数据步由数据步由datadata语句开始,后面接着
39、其他程序语句,通语句开始,后面接着其他程序语句,通语句开始,后面接着其他程序语句,通语句开始,后面接着其他程序语句,通过从原始数据文件中读入数据或对已存在的过从原始数据文件中读入数据或对已存在的过从原始数据文件中读入数据或对已存在的过从原始数据文件中读入数据或对已存在的SASSAS数据集进行数据集进行数据集进行数据集进行操作来建立新的操作来建立新的操作来建立新的操作来建立新的SASSAS数据集。在数据集。在数据集。在数据集。在SASSAS程序中,用户可以使用程序中,用户可以使用程序中,用户可以使用程序中,用户可以使用不同的来源输入数据。常用的数据输入来源包括不同的来源输入数据。常用的数据输入来
40、源包括不同的来源输入数据。常用的数据输入来源包括不同的来源输入数据。常用的数据输入来源包括:(1 1)原始数据以数据流的方式;)原始数据以数据流的方式;)原始数据以数据流的方式;)原始数据以数据流的方式;(2 2)原始数据以外部文件的方式;)原始数据以外部文件的方式;)原始数据以外部文件的方式;)原始数据以外部文件的方式;(3 3)已经存在的)已经存在的)已经存在的)已经存在的SASSAS数据集;数据集;数据集;数据集;(4 4)通过程序语句来建立数据集。)通过程序语句来建立数据集。)通过程序语句来建立数据集。)通过程序语句来建立数据集。第25页/共128页271 1、从数据流中读入数据、从数
41、据流中读入数据、从数据流中读入数据、从数据流中读入数据在在在在SASSAS程序中,用程序中,用程序中,用程序中,用cardscards语句定义数据流的开始。语句定义数据流的开始。语句定义数据流的开始。语句定义数据流的开始。InputInput语句用于从数据流中读入数据。语句用于从数据流中读入数据。语句用于从数据流中读入数据。语句用于从数据流中读入数据。第26页/共128页28例例2.3 从数据流读入数据建立数据从数据流读入数据建立数据集集data sas2_3;/*data sas2_3;/*创建名为创建名为sas2_3sas2_3的的SASSAS数据集数据集*/Input id name$h
42、eight weight;/*Input id name$height weight;/*从数据流中读入数据从数据流中读入数据*/cards;cards;1 Judy 156 45 2 Lucy 167 53 3 Susan 165 55 4 tony 178 701 Judy 156 45 2 Lucy 167 53 3 Susan 165 55 4 tony 178 70;run;/*run;/*数据步结束数据步结束*/proc print data=sas2_3;/*proc print data=sas2_3;/*显示输出显示输出sas2_3sas2_3数据集到数据集到outputou
43、tput窗口窗口*/run;/*run;/*过程步结束过程步结束*/第27页/共128页292 2、从外部文件中读入数据、从外部文件中读入数据、从外部文件中读入数据、从外部文件中读入数据InfileInfile语句用来指定外部文件,通常外部文件并不是语句用来指定外部文件,通常外部文件并不是语句用来指定外部文件,通常外部文件并不是语句用来指定外部文件,通常外部文件并不是SASSAS文件。用文件。用文件。用文件。用inputinput语句将外部文件中的数据读入语句将外部文件中的数据读入语句将外部文件中的数据读入语句将外部文件中的数据读入SASSAS中建立中建立中建立中建立SASSAS数据集。外部文
44、件中的记录可以按数据集。外部文件中的记录可以按数据集。外部文件中的记录可以按数据集。外部文件中的记录可以按一个变量一列的方式排列,也可以没用格式,不安一个变量一列的方式排列,也可以没用格式,不安一个变量一列的方式排列,也可以没用格式,不安一个变量一列的方式排列,也可以没用格式,不安列方式排列。列方式排列。列方式排列。列方式排列。第28页/共128页30例例例例2.4 2.4 从外部文件读入数据从外部文件读入数据从外部文件读入数据从外部文件读入数据外部文本文件外部文本文件外部文本文件外部文本文件 k:userstudent.txtk:userstudent.txt1 Judy 1.56 45 1
45、 Judy 1.56 45 2 Lucy 1.67 53 2 Lucy 1.67 53 3 Susan 1.65 55 3 Susan 1.65 55 4 tony 1.78 704 tony 1.78 70SASSAS程序:程序:程序:程序:Data sas2_4;Data sas2_4;Infile d:userstudent.txt;/*Infile d:userstudent.txt;/*指定外部文件指定外部文件*/Input id name$height weight;/*Input id name$height weight;/*从外部文件中读取记录从外部文件中读取记录*/Run;
46、Run;Proc print data=sas2_4;Proc print data=sas2_4;Run;Run;第29页/共128页313 3、从、从、从、从SASSAS数据集中读入数据数据集中读入数据数据集中读入数据数据集中读入数据用用用用setset语句可以从已有的语句可以从已有的语句可以从已有的语句可以从已有的SASSAS数据集中创建新的数据集。数据集中创建新的数据集。数据集中创建新的数据集。数据集中创建新的数据集。运行运行运行运行setset语句,语句,语句,语句,SASSAS会从已有的会从已有的会从已有的会从已有的SASSAS数据集中读入观数据集中读入观数据集中读入观数据集中读入
47、观测,包括原始数据集中的所有变量,还可以在原数测,包括原始数据集中的所有变量,还可以在原数测,包括原始数据集中的所有变量,还可以在原数测,包括原始数据集中的所有变量,还可以在原数据集变量基础上创建新的变量。据集变量基础上创建新的变量。据集变量基础上创建新的变量。据集变量基础上创建新的变量。第30页/共128页32例例例例2.5 2.5 从已有的从已有的从已有的从已有的SASSAS数据集中读入数据数据集中读入数据数据集中读入数据数据集中读入数据Data sas2_5;Data sas2_5;set sas2_4;set sas2_4;/*/*从已有的数据集从已有的数据集sas2_4sas2_4中
48、读入数据中读入数据*/Bmi=weight/height*2;Bmi=weight/height*2;/*/*生成一个新变量生成一个新变量*/Run;Run;Proc print data=sas2_5;Proc print data=sas2_5;Run;Run;第31页/共128页33例例例例2.6 2.6 利用程序语句建立利用程序语句建立利用程序语句建立利用程序语句建立SASSAS数据集数据集数据集数据集Data sas2_6;Data sas2_6;Do i=1 to 10;Do i=1 to 10;/*do/*do与与endend语句之间的语句被重复执行语句之间的语句被重复执行101
49、0次次*/Y=rannor(2008);Y=rannor(2008);/*/*产生来自标准正态分布的随机数产生来自标准正态分布的随机数*/Output;Output;End;End;Proc print data=sas2_6;Proc print data=sas2_6;Run;Run;4、利用程序语句建立、利用程序语句建立SAS数据集数据集第32页/共128页34 SAS中中Import/Export向导可用向导可用于将其他类型的文件,如于将其他类型的文件,如Excel、Access、dBase、文本文件等转、文本文件等转为为SAS数据集。在数据集。在file菜单下点击菜单下点击impor
50、t/export,按向导指示操,按向导指示操作即可。作即可。二、二、Import/Export向导创建向导创建SAS数据集数据集第33页/共128页35第三节第三节第三节第三节 SASSASSASSAS数据集的修改数据集的修改数据集的修改数据集的修改例例例例2.7 2.7 按观测连接按观测连接按观测连接按观测连接SASSAS数据集数据集数据集数据集IdnameSexheightweight4Tonymale178705Tommale17065IdnameSexheightweight1Judyfemale156452Lucyfemale167533Susanfemale16555femalem