研究生SAS教程

上传人:人*** 文档编号:591119940 上传时间:2024-09-16 格式:PPT 页数:65 大小:467.50KB
返回 下载 相关 举报
研究生SAS教程_第1页
第1页 / 共65页
研究生SAS教程_第2页
第2页 / 共65页
研究生SAS教程_第3页
第3页 / 共65页
研究生SAS教程_第4页
第4页 / 共65页
研究生SAS教程_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《研究生SAS教程》由会员分享,可在线阅读,更多相关《研究生SAS教程(65页珍藏版)》请在金锄头文库上搜索。

1、第一次第一次实验实验1.了解了解SAS系系统统功能功能2.熟悉熟悉SAS的的页页面操作面操作3.熟悉熟悉SAS/BASE一些常用的一些常用的语语句句要求要求:(1)掌握数据的掌握数据的输输入入输输出(出(data input put output cards等等语语句的配合使用)句的配合使用);(2)掌握常用的基掌握常用的基础统计计础统计计算(二算(二项项、正、正态态等分布等分布的概率函数的概率函数值值和分位数的和分位数的计计算);算);(3)熟悉数据的熟悉数据的图图形形显显示功能示功能1a第一第一讲讲 SAS系系统统概述概述一、什么是一、什么是 SAS系系统统二、二、 SAS/BASE简简介

2、介2a一、什么是一、什么是 SAS系系统统SAS系统是一个模块化的集成软件系统,提供数据访问、数据管理、数据分析、数据呈现。包括:1. 基本部分(也是核心部分): BASE SAS;2. 统计分析: SAS/STAT;3. 高级绘图: SAS/GRAPH;4. 矩阵运算: SAS/IML;5. 运筹学和线性规划: SAS/OR;6. 经济预测和时间序列分析: SAS/ETS;7.面向任务的菜单驱动界面:SAS/ASSIST3a二、二、SAS系系统统的特点的特点2. SAS语言是编程能力强且简洁易学的非过程语言3. SAS系统把数据处理与统计分析融为一体4. 适用性强、应用面广二、二、SAS系系

3、统统的特点的特点1. 使用灵活方便、功能齐全4a三、三、 SAS/BASE简简介介 主要功能是: 可以单独使用,也可以同其它软件产品一起组成一个用户化的SAS系统。3.报表生成和图形显示功能1.数据管理2.基础统计计算功能5a1.数据管理功能:(1)信息存贮和检索:可用任何格式读入数据值,然后组成SAS数据集。具有很强的与外部文件交换信息的功能,可以用文件操作管理方法把不同数据集的数据组合在一起,供SAS过程分析处理,生成报表.(2) 数据修改与程序设计:(3) 文件操作:用于对数据进行编辑、整理、连接、合并及更新的功能,还能同时处理多个输入文件,或者对一次输入的数据能够生成几种报表。6a3.

4、报表生成和图形显示功能2.基础统计计算功能.计算简单的描述性统计量.SAS函数可用于计算概率分布函数、分位数、产生随机数等7a一、一、SAS显显示管理系示管理系统统(Display Manager System,DMS)第二第二讲讲 SAS使用概述使用概述()编辑窗口(PROGRAM EDITOR):编辑程序和数据文件;()日志窗口(LOG): 记录运行情况,显示信息;()输出窗口(OUTPUT):输出运行的结果;()图形窗口(GRAPH):输出图形。点击 Globals 菜单中的 Program editor、Log、Output、Graph 命令可以进入编辑、日志、输出及图形窗口。按功能键

5、F5、F6、F7也可以进入编辑、日志及输出窗口。是用是用户户和和SAS系系统统交互式会交互式会话环话环境;点境;点击击图标图标后,后,即可即可进进入的入的显显示管理系示管理系统统在中有四在中有四个主要的窗口:个主要的窗口: 8a二、的功能二、的功能键键用功能键可以代替对菜单的点击,有时比较方便。最常用的功能键有F1 :显示帮助信息();4 :显示已经运行的程序();5 :进入编辑窗口();6 :进入日志窗口();7 :进入输出窗口();8 :程式提交运行();9 :显示功能键();以上功能键的用法熟悉之后,还可以定义或修改功能键。例如,可以定义Ctrl+E为功能键,用来清屏。9a三、三、SAS

6、语语句句一个一个SAS语语句是由句是由SAS关关键词键词,SAS名字,特殊字符和运名字,特殊字符和运算符算符组组成的字符串,并成的字符串,并以分号(;)以分号(;)结结尾尾。SAS关关键词键词: 如如data语语句,句,proc语语句,句,infile语语句句等等SAS名字名字:最多由最多由1-8个字符个字符组组成,首字符必成,首字符必须须是字母或下是字母或下 下划下划线线(字符包括:字母、数字或下划(字符包括:字母、数字或下划线线) 如:如:变变量名、量名、SAS数据集名、数据集名、过过程名等程名等SAS语语句句 一般形式:一般形式:KEYWORD parameteroption;注:注:S

7、AS规规定,每个定,每个语语句以句以“;”作作为该语为该语句句结结束的束的标标志。志。 10a四、四、SAS程序程序1.DATA语语句:句:产产生生SAS数据集数据集2.PROC语语句句:对对SAS数据集内数据数据集内数据进进行分析行分析处处理理,输输出出结结果果SAS程序:三明治程序:三明治 以以DATA语语句开始句开始(面包面包),告告诉诉程序有关的数据集程序有关的数据集最后是最后是PROC语语句句中中间间是数据是数据(肉肉)一序列一序列语语句句组组成一个成一个SAS程序,完成一定的功能程序,完成一定的功能.SAS程序中程序中语语句分句分为为两种:两种:SAS程序构成:程序构成:一个或多个

8、一个或多个data语语句、一个或多个句、一个或多个proc语语句句一个或多个一个或多个proc语语句句一个或多个一个或多个data语语句句11a程序示例:data ex;input no$ sex$ age h w;cards;10 f 47 156.3 47.124 m 38 172.4 61.553 m 41 169.2 64.546 f 52 158.2 53.638 f 39 160.1 48;proc sort;by sex;proc means;by sex;var h w;run;12a第四第四讲讲 DATA步入步入门门一、什么是一、什么是二、二、创创建建SAS数据集数据集三、三

9、、 DATA步步语语句及其句及其类类型型13a一、什么是一、什么是DATA步步1.检检索索:把把输输入数据入数据转转化化为为SAS数据集;数据集;2.编辑编辑:检查检查数据中的数据中的错误错误并修改它并修改它们们,计计算新算新变变量量;3.按照用按照用户设计户设计的的规规格格输输出出报报告并存告并存为为磁磁盘盘文件;文件;4.从已从已经经存在的数据集中通存在的数据集中通过过取子集、合并和取子集、合并和 更新原数据的方法来更新原数据的方法来产产生新的数据集。生新的数据集。DATA步是用步是用DATA语语句开始的一句开始的一组组或几或几组组SAS语语句。其目的:句。其目的:14a1.数据在作数据在

10、作业业流中:从作流中:从作业业流中流中输输入数据入数据产产生生SAS数据集数据集二、二、创创建建SAS数据集数据集Ex.1 data d1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 4 5 6 ;一般形式一般形式为为:注:注:数据之数据之间间以空格隔开;数据行与行之以空格隔开;数据行与行之间间不用分号。不用分号。data 语语句句; input 语语句句; (用于(用于data步的其它步的其它SAS语语句;)句;) cards; 数据行数据行 ;15a2.数据在磁数据在磁盘盘上:从磁上:从磁盘盘上上读读入数据文件入数据文件产产生生SAS数据集数据集二、

11、二、创创建建SAS数据集数据集Ex.2 data d2; infile e:da1.dat; input x1 x2 x3; y=x1+x2+x3; run;一般形式一般形式为为:data 语语句句; infile 语语句句; input 语语句句; (用于(用于data步的其它步的其它SAS语语句;)句;) run; 16a3.数据来自其它数据来自其它SAS数据集:从一个或几个已数据集:从一个或几个已经经存在的存在的SAS数据集数据集产产生新的生新的SAS数据集数据集二、二、创创建建SAS数据集数据集Ex.3 data d3; set da2; if x10; run;一般形式一般形式为为:

12、data 语语句句; set|merge|update|modify语语句句;(用于(用于data步的其它步的其它SAS语语句;)句;) run; Ex.4 data d3; merge da1 da2; run;17a4.把把SAS数据集数据集转换为转换为外部数据或外部数据或输输出出报报表表二、二、创创建建SAS数据集数据集一般形式一般形式为为:data null-; input语语句和句和(cards|infile)语语句句;或者或者set|merge|updata|modify语语句句; file 语语句;(句;(*告告诉诉SAS这这里要里要输输出出报报表或存表或存贮贮文件)文件) pu

13、t 语语句(句(*用一个或几个用一个或几个put语语句句输输出出这张报这张报表或文件的一些行)表或文件的一些行) (用于(用于data步的其它步的其它SAS语语句;)句;)run; 18a三、三、 DATA步步语语句及其句及其类类型型只用于只用于 DATA步的步的SAS语语句共有句共有56个,分个,分为为四四类类:文件操作:文件操作语语句、运行句、运行语语句、控制句、控制语语句、信句、信息息语语句。句。常用的常用的data步步语语句:句:文件操作文件操作语语句:句:data、input、cards、 file、 infile、by、set、merge等等运行运行语语句:句:赋值语赋值语句、累加

14、句、累加语语句等句等控制控制语语句:循句:循环语环语句、条件句、条件语语句等句等信息信息语语句句:(:(略)略)19a(1) 语语句句 语句的作用是表明数据步的开始并给出数据集的名称。 语句的格式为: 数据集的名称;数据集的名称; 注:1)数据集的名称必须以英文字母开始,最长不超过个字符。 2)数据集的名称都是由符号“”分隔的两个部分所组成。第一部分标记数据集所存储的位置,称作一级名或库逻辑名。第二部分标记一个特定的数据集,称作二级名。如果不想把数据集永久储存在指定的磁盘上,可以只使用二级名。20a例: ;系统会自动地把作为数据集的二级名,并添加作为数据集的一级名,因此在日志窗口显示的信息中记

15、该数据集为。但是这个数据集是临时的,它仅仅在程式运行期间有效,过后它就被复盖,不能重新调用。21a(2) 语语句句语句的作用是与“;”呼应,标志数据行的开始与结束。 语句的格式为: ; 数据行数据行 ;注:如果使用语句,在的后面必须紧跟数据行,并且在一个数据步中最多只能有一个语句。22a(3)语语句句 语句的作用是描述输入记录中的数据,并把输入值赋给相应的变量。 语句的格式为: 数据的数据的变变量名、量名、顺顺序及序及类类型;型;注注1:用语句是为了读外部文件的数据或跟在语句后面的数据。除非在语句中的变量名后有串符号或用字符的输入格式表示、或该变量事先已被定义为字符型,否则认定用语句读入的是数

16、值型变量的值。23a注2.用语句时,外部文件中的数据和语句后面的数据都采取列表输入的方法,各个变量的值由它们之间的空格来分隔。为从一行读入多个观测值,应使用行保持符限制读数指针,使其保持在这一行上读数,直到数据读完为止。 Ex.1 data ex1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 4 5 6 ;Ex.1 data ex1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 4 5 6 ;24a(4)语语句句 语句的作用是指明外部数据文件的名称,并从这个外部数据文件中读取数据。 语句的格式为: 外部数据文件名外部

17、数据文件名; 例如,在驱动器上有一个名称为ex2的数据文件,其中数据排列为: 3.12 2.23 3.4 4.12 4.2 .5用语句读取数据的程式为: ; :ex2.; $ ; 用语句读取数据时,要求外部数据文件必须是可以在操作系统中用命令打印出全部内容的码文本文件。25a(5) 语语句句 语句的作用是按照指定的条件从指定的数据集中读取数据建立新的数据集或将两个数据集中的观测值纵向连接建立新的数据集。 语句的格式为: 数据集名表;数据集名表; 例如,从数据集中读取数据建立新的数据集,可编辑语句: ; ; 将两个数据集和中的观测值纵向连接建立新的数据集,可编辑语句: ; ;26adata d1

18、;input g$ a b ;cards; 1 5 7 1 7 9 1 3 4 ;data d2;input g$ a c ; cards; 2 4 8 2 6 6 2 8 10 ;data d3;set d1 d2;proc print;run;运行结果Obs g a b c 1 1 5 7 . 2 1 7 9 . 3 1 3 4 . 4 2 4 . 8 5 2 6 . 6 6 2 8 . 1027a(6) 语语句句 语句的作用是将两个数据集中的各个观测值横向合并建立新的数据集。语句的格式为: 数据集名表;数据集名表; 例如,将数据集与中的观测值横向合并建立新的数据集,可编辑语句: ; ;2

19、8adata d1;input a b c ; cards; 1 5 7 1 7 9 1 3 4 1 2 6 ; data d2;input x y z ; cards; 2 4 8 2 6 6 ; data d3;merge d1 d2; proc print;run; 本程式运行的结果如下: OBS A B C X Y Z 1 1 5 7 2 4 8 2 1 7 9 2 6 6 3 1 3 4 . . . 4 1 2 6 . . .29a(7) do语语句句 简单do语句 循环do语句 do while 语句 do until 语句30a简单do语句:常常用在if-then/else语句里

20、来指定一个语句组根据if条件成立或不成立时被执行,格式为:do; 一些sas语句end;例:data a;input x;if x5 then do; y=x*10; put x= y= ; end;cards;12 4 11 5;输输出出结结果:果:x=12 y=120x=11 y=11031a例: data ex; do x=1.645, 1.96, 2.576; p=probnorm(x); put x= p= ; end; run;在log窗口输出结果:x=1.645 p=0.9500150945x=1.96 p=0.9750021049x=2.576 p=0.995002467732

21、a循环do语句:格式为:do; 一些sas语句end;例:data a;do x=-3 to 3 by 0.25;do y=-3 to 3 by 0.25; p=x*x+y*y;put x= y= p= ;end;end;run;33a第五第五讲讲 PROC步入步入门门一、什么是一、什么是PROC 步?步?二、二、 PROC语语句句34a一、什么是一、什么是PROC 步?步?PROC 步是用步是用PROC语语句开始的一句开始的一组组或几或几组组SAS语语句。句。一般形式一般形式为为:PROC SAS过过程名程名 ; (用于(用于proc步的其它步的其它SAS语语句;)句;) run;Ex.4

22、proc print data=d1; run;注:注: 1.不同的不同的SAS过过程可以使用的程可以使用的 也是不同的。也是不同的。2. Proc步中常出步中常出现现的的SAS控制控制语语句句: (1)var 变变量名量名; (2)by 变变量名量名;(要求排序)(要求排序) (3)class 变变量名量名; (4) ID 变变量名量名;35a二、二、 SAS基本基本输输出出过过程程1.proc print;2.或或 proc print data=文件名文件名;Ex.5 data d1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 2 3 4 ; pr

23、oc print data=d1; run;36a2.proc plot;语语法:法:proc plot 选项选项; by 变变量列表量列表; plot 选项选项;选项选项:如:如vpect=33(规规定定产产生的散布生的散布图图在垂直方向在垂直方向占一占一页页的比例的比例 hpct=50 formchar =字符串字符串 plot 选项选项;plot vertical*horizontal 或或plot vertical*horizontal=字符或字符或变变量量37a3.proc sort ; by variables; run;38a1.proc means ; var variable

24、s; by variables; freq variables; output out=新文件名新文件名 变变量名列表(量名列表(统计统计关关键词键词=)run;三、三、 SAS基基础统计过础统计过程程Options: mean std clm alpha t prt 39a注注1:proc means 可以可以计计算的算的统计统计量由量由21种,种,分分别别用下述关用下述关键词键词表示:表示: n,nmiss,mean, std,max,min, range,sum,var,uss,css,cv,stderr,t,prt, skewness,kurtosis,clm,lclm,uclm注注2

25、:output out=新文件名新文件名 变变量名列表量名列表(统计统计关关键词键词=)40aEx:proc means data=ex; var weight height; class sex; output out=result mean=meanweight meanheight std(weight)=stdweight std(height)=stdheight run;proc print data=result;run; 41a偏态与峰度分布的形状左偏分布左偏分布左偏分布左偏分布扁平分布扁平分布扁平分布扁平分布右偏分布右偏分布右偏分布右偏分布与与与与标标标标准正准正准正准正态态

26、态态分布比分布比分布比分布比较较较较!尖峰分布尖峰分布尖峰分布尖峰分布42a偏态(概念要点)1、数据分布偏斜程度的测度2. 偏态系数=0为对称分布3. 偏态系数 0为右偏分布4. 偏态系数 0为左偏分布5. 计算公式为43a偏态(实例)【例例例例】已已知知19971997年年我我国国农农村村居居民民家家庭庭按按纯纯收收入入分分组组的的有有关关数数据据。试试计计算算偏偏态态系数系数表表4-10 1997年年农村居民家庭纯收入数据农村居民家庭纯收入数据按纯收入分组(元)按纯收入分组(元)户数比重(户数比重(%)500以下以下5001000100015001500200020002500250030

27、00300035003500400040004500450050005000以上以上2.2812.4520.3519.5214.9310.356.564.132.681.814.9444a户户户户户户数数数数数数比比比比比比重重重重重重(%)(%)(%)25252020151510105 5农农农农村居民家庭村收入数据的直方村居民家庭村收入数据的直方村居民家庭村收入数据的直方村居民家庭村收入数据的直方图图图图偏态与峰度(从直方图上观察)按按按按按按纯纯纯纯纯纯收入分收入分收入分收入分收入分收入分组组组组组组( (元元元元元元) )10001000500500150015002000200025

28、002500300030003500350040004000 4500450050005000结论结论结论结论:1. 1. 为为右偏分布右偏分布 2. 2. 峰度适中峰度适中45a偏态系数(计算结果)将将将将计计计计算算算算结结结结果代入公式得果代入公式得果代入公式得果代入公式得结论结论结论结论:偏偏态态系数系数为为正正值值,而且数,而且数值较值较大,大,说说明明农农村居民家庭村居民家庭纯纯收入的分布收入的分布为为右偏分布,即收入右偏分布,即收入较较少的家庭占据多数,而收入少的家庭占据多数,而收入较较高的家庭高的家庭则则占少数,而且偏斜的程度占少数,而且偏斜的程度较较大大 46a峰度(概念要点

29、)1. 数据分布扁平程度的测度2. 峰度系数=3扁平程度适中3. 偏态系数3为尖峰分布5. 计算公式为47a峰度系数系数峰度系数系数(实实例例计计算算结结果果)代入公式得代入公式得 【例例例例】根根据据表表4-104-10中中的的计计算算结结果果,计计算算农农村村居居民民家庭家庭纯纯收入分布的峰度系数收入分布的峰度系数 结结结结论论论论:由由于于=3.43=3.43,说说明明我我国国农农村村居居民民家家庭庭纯纯收收入入的的分分布布为为尖尖峰峰分分布布,说说明明低低收收入入家家庭庭占占有有较较大大的比重的比重 48a2.proc univariate var variables; by vari

30、ables; freq variables; output run;Options:normal注:注:计计算分位数、算分位数、频频率表、数据的正率表、数据的正态态性性检验检验等等49aOptions:1.Normal2.Plot (生成一个茎叶生成一个茎叶图图或水平直方或水平直方图图、 一个盒形一个盒形图图、一个正、一个正态态概率概率图图)50a3.proc ttest class variables; var variables; run;51a4.proc corr var variables; with variables; by variables; freq variables;r

31、un;注:注:计计算算Pearson相关系数和相关系数和显显著性概率以及著性概率以及 单变单变量量统计统计量量52a第六第六讲讲 全程全程语语句句一、什么是全程一、什么是全程语语句?句?二、二、 常用的全程常用的全程语语句句53a一、什么是全程一、什么是全程语语句?句?全程全程语语句:句: 既可以用在既可以用在data步,也可以用在步,也可以用在proc步;步;既可以用在既可以用在data步和步和proc步的步的外部外部,也可以用在也可以用在data步和步和proc步的步的内部内部。这这些些语语句可以用在句可以用在SAS程序的任何地方,称程序的任何地方,称为为全程全程语语句句.54a二、二、

32、常用的全程常用的全程语语句句1.注注释语释语句:句: * messages; 或或 /* messages*/ (无需分号)无需分号)2.Title语语句:句:规规定同定同SAS输输出一起被打印的出一起被打印的标题标题行行 Title (n=110)e.g. Title2 Annual costs3.run ;4.endsas;55a应应用用SAS计计算二算二项项分布的分位数分布的分位数probbnml(p,n,k)=而PX=k= probbnml(p,n,k)probbnml(p,n,k1)data ex;do k=1 to 10 by 1 ;p=probbnml(0.5,10,k)-pro

33、bbnml(0.5,10,k-1);put p;end;56adata ex;do k=1 to 10 by 1 ;do p=0.5;n=10;value=probbnml(p,n,k)-probbnml(p,n,k-1);output;end;end;proc print data=ex;run;57a应应用用SAS计计算算标标准正准正态态分布的分位数分布的分位数在SAS中有probit(p)函数,用此函数可以求p分位数。SAS程序为data ex;do p=0.025,0.05,0.1,0.9,0.95,0.975;u=probit(p);put u p ;end;run;输出的结果如下:

34、-1.959963985 0.025-1.644853627 0.05-1.281551566 0.1 1.2815515655 0.9 1.644853627 0.95 1.9599639845 0.97558a当=0.10,0.05,0.01时,应用SAS计算双侧分位数的程序为:data ex;do x=0.1,0.05,0.01;p=1-x/2;u=probit(p);put x p u;end;run;输出的结果如下:0.1 0.95 1.6448536270.05 0.975 1.95996398450.01 0.995 2.575829303559a应应用用SAS计计算卡方分布的分

35、位数算卡方分布的分位数在SAS中有cinv(p,df)函数,用此函数可以求p分位数。SAS程序为data ex;do df=4;do p=0.025,0.05,0.1,0.9,0.95,0.975;c=cinv(p,df);put p df c;end;end;run;输出的结果如下:0.025 4 0.48441855710.05 4 0.71072302140.1 4 1.06362321680.9 4 7.77944033970.95 4 9.48772903680.975 4 11.14328678260a应应用用SAS计计算算t分布的分位数分布的分位数在SAS中有tinv(p,df)

36、函数,用此函数可以求p分位数。data ex;do df=4;do p=0.025,0.05,0.1,0.9,0.95,0.975;t=tinv(p,df);put p df t;end;end;run;结果:0.025 4 -2.776445105 0.05 4 -2.131846786 0.1 4 -1.533206274 0.9 4 1.5332062741 0.95 4 2.1318467863 0.975 4 2.776445105261a应应用用SAS计计算算F分布的分位数分布的分位数在SAS中有finv(p,df1,df2)函数,用此函数可以求p分位数。SAS程序为data ex

37、;do p=0.025,0.05,0.1,0.9,0.95,0.975;do df1=3;df2=4;f=finv(p,df1,df2);put p df1 df2 f;end;end;run;结果:0.025 3 4 0.0662208725 0.05 3 4 0.1096830108 0.1 3 4 0.1871732255 0.9 3 4 4.1908604389 0.95 3 4 6.5913821164 0.975 3 4 9.979198532262adata ex;do p=0.025,0.05,0.1,0.9,0.95,0.975;do df1=3;df2=4;f=finv(p,df1,df2);output;end;end;run;proc print ;run;63a Obs p df1 df2 f 1 0.025 3 4 0.06622 2 0.050 3 4 0.10968 3 0.100 3 4 0.18717 4 0.900 3 4 4.19086 5 0.950 3 4 6.59138 6 0.975 3 4 9.97920 64adata ex;input x;if x10 then output;cards; 1 2 23 12 34;proc print ;run;Obs x 1 23 2 12 3 3465a

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号