资源预览内容
第1页 / 共144页
第2页 / 共144页
第3页 / 共144页
第4页 / 共144页
第5页 / 共144页
第6页 / 共144页
第7页 / 共144页
第8页 / 共144页
第9页 / 共144页
第10页 / 共144页
亲,该文档总共144页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
华中科技大学公卫学院 流行病与卫生统计系SAS数据集1SASSAS应用应用一、SAS数据集的概念和结构SAS是处理数据的软件,SAS处理的 数据必须以数据集的形式出现。数据集是 指使用SAS系统产生的一类具有特殊结构 的文件,此类文件是数据的特殊组织形式 。 “SAS data sets - SAS数据集”SAS所能做的任何工作都离不开SAS 数据集,所以可以这样说,SAS数据集是 SAS系统的“心脏”。2数据步功能:1将输入数据转化为SAS数据集;2编辑数据集中的数据,检查和修改数据中 的错误,计算新变量等;3根据用户要求的格式打印数据,或将数据 写入磁盘文件;4从已有的数据集中通过取子集、合并、更 新等方法产生新的数据集。3华中科技大学公卫学院 流行病与卫生统计系第一节 SAS数据集的建立 41SAS数据集的名称在建立数据集时,你必须给它命名。 SAS数据集的名字可以有1-8个字符,必须 以字母或下划线开始,后面跟英文字母、 数字或下划线,中间不能有空格。下面这 些均是合法的SAS数据集名:SALES_TAXES_88FILESQUARTER_15SAS数据集组成要素 1数据值 数据值是构成SAS数据集的基本单元 ,数据值分为数值型数据、字符型数据和日期 型数据三种类型。 2观测值 描述一个观察单位(如一个人,一 个地区,一年)特征的一系列数据值称为观测 值。 3变量 具有相同特征的数据值的集合组成了 变量。 4数据集 数据集是由若干个观测值组成的集合 。 6SAS数据集的结构OBS NAME SEXSIS2S3 1 WANGBOM797892 2 HEWEI M 966987 3 YANJIN F 988793 4 MALIV F888590 5 HAVHUIM739389 6 ZHOUBINM968789 7 LIMIN F879390 8 SUNYI F7988767数据值数据值变量观测值2SAS数据集分为两种临时数据集 temporary SAS data sets永久数据集 permanent SAS data sets所谓临时数据集,是指本次SAS作业( SAS session)中临时建立并只在本次SAS作 业中有效的临时性的数据集,退出SAS,临时 数据集即消失。所谓永久数据集是存贮在外部存贮介质 (硬盘、软盘等)上的数据集,不删除可以长 久存在,反复使用。8SAS数据集临时数据集Data aa; Input id x1 x2 x3$; Cards; 1153 45 m 2 145 37 f 3 150 40 m ; Proc print; Run;SAS数据集永久数据集Libname md:gw;Data m.aa; Input id x1 x2 x3$; Cards; 1 153 45 m 2 145 37 f 3 150 40 m ; Run;SAS数据集调用永久数据集 libname md:gw; run; /*建永久数据集*/ data bb; set m.aa; /*调用永久数据集*/ proc print; run;3一点说明建立或调用一个永久数据集,必须使用两 级名规则。第一级名又叫库逻辑名(libref) ,用来表示数据集的目录路径;第二级名是数 据集名(filename),用来区别其它的数据集 。一级名与二级名用“.”分开,例如:在以CLINIC为逻辑名的目录路径 下有一永久数据集ADMIT,调用此数据集时, 要用两级名,CLINIC.ADMIT libref filename 12SAS系统给每个临时数据集自动给 予一个叫“work”的一级名,但在引用 临时数据集时,不用加“work”字样( 生成临时数据集时,在LOG窗口可以看 到临时数据集的全称)。故在实际应用中,使用单名的数据集都是临时数据集,使用两级名的数据 集则是永久数据集。13二、建立SAS数据集 14SASSAS语句的书写规则:语句的书写规则: 1. 1. 以以SASSAS关键词(关键词(SAS keywordSAS keyword)开头,)开头, 关键词可以大写字母可以小写;关键词可以大写字母可以小写; 2. 2. 以分号(以分号(semicolonsemicolon)结尾;)结尾; 3. 3. 可以从任意行或列开始或结束;可以从任意行或列开始或结束; 4. 4. 一条语句可以连续写多行;一条语句可以连续写多行; 5. 5. 多条语句可以在同一行;多条语句可以在同一行; 6. 6. 字与字间(字与字间(wordswords)用空格分隔;)用空格分隔; 7. 7. 程序的最后要有程序的最后要有“ “run”run”语句;语句;DATA CLASSDATA CLASS;INPUT NAME $ INPUT NAME $ SEX $ S1 S2 S2 SEX $ S1 S2 S2;CARDSCARDS;WANGBO M 79 78 92 WANGBO M 79 78 92 HEWEI M 96 69 87 HEWEI M 96 69 87 ;RUNRUN;1 临时数据集的建立(1)程序的基本结构: DATA 语句; INPUT 语句;用于数据步的其它语句 CARDS; 若干数据行; RUN;15A 直接通过键盘输入数据16OBSOBS NAME SEX NAME SEXSISIS2S2S3S3 1 WANGBO1 WANGBOMM797978789292 2 2 HEWEI M HEWEI M 969669698787 3 3 YANJIN F 98 YANJIN F 9887879393 4 4 MALIV MALIV F F888885859090 5 5 HAVHUI HAVHUIMM737393938989 6 6 ZHOUBIN ZHOUBINMM969687878989 7 7 LIMIN LIMIN F F878793939090 8 8 SUNYI SUNYI F F797988887676例17DATA CLASSDATA CLASS;INPUT NAME $ SEX $ S1 S2 S2INPUT NAME $ SEX $ S1 S2 S2;CARDSCARDS;WANGBO M 79 78 92 WANGBO M 79 78 92 HEWEI M 96 69 87 HEWEI M 96 69 87YANJIN F 98 87 93 YANJIN F 98 87 93MALIN F 88 85 90 MALIN F 88 85 90HANHUI M 73 93 89 HANHUI M 73 93 89ZHOUBIN M 96 87 89 ZHOUBIN M 96 87 89LIMIN F 87 93 90 LIMIN F 87 93 90SUNYI F 79 88 76 SUNYI F 79 88 76;RUNRUN;(1)DATA语句语句格式 :DATA 数据集名表 选择项; 18DATA DATA语句的作用是语句的作用是表明数据步的开始,并给出所建表明数据步的开始,并给出所建数据集的名称。数据集的名称。数据集名必须以英文字母开始,最长不超过数据集名必须以英文字母开始,最长不超过8 8个字符个字符。数据集名可以是一个或者多个。数据集名可以是一个或者多个。DATADATA语句中,如果语句中,如果 不给出数据集名,则不给出数据集名,则SASSAS系统自动以系统自动以DATA1DATA1、DATA2DATA2等依等依次命名所建立的数据集。次命名所建立的数据集。DATA class;(2)INPUT语句19功能:读取功能:读取CARDSCARDS语句后的数据,或从外部数据语句后的数据,或从外部数据 文件读数据,并将读入的数据赋给文件读数据,并将读入的数据赋给“ “INPUT”INPUT”后相应后相应 的变量;的变量; 变量说明变量说明 主要有以下三种格式:主要有以下三种格式: 自由格式自由格式 列输入格式列输入格式 格式化输入格式化输入 格式:格式: INPUT INPUT 变量说明变量说明 ;INPUT NAME $ SEX $ S1 S2 S3INPUT NAME $ SEX $ S1 S2 S3;1)自由输入格式 是最简单的数据输入方法,它 只需要在INPUT语句中按顺序列变量名,而不 必了解输入记录中数据占有哪些列。语句格式:INPUT 变量名 $;INPUT NAME $ SEX $ S1 S2 S2 ;注意: INPUT语句中列出的变量的顺序与相 应的输入数据的顺序必须一致,$指明左边的变 量为字符型变量。使用列表输入数据必须通过 空格分隔。字符型数据的长度缺省值是8个字 节,如果超过8位可使用LENGTH、ATTRIB、 INFORMAT语句重新定义字符串的宽度。20列表输入格式举例DATA CLASS;INPUT NAME $ SEX $ S1 S2 S2;CARDS;WANGBO M 79 78 92 HEWEI M 96 69 87YANJIN F 98 87 93MALIN F 88 85 90HANHUI M 73 93 89ZHOUBIN M 96 87 89LIMIN F 87 93 90SUNYI F 79 88 76RUN; 212)列输入格式 在INPUT语句变量名后须指出 相应的变量值所处的列号范围。语句格式:INPUT 变量名 $ 开始列 -终止列;开始列 指明该变量要读取的数据的起始列号终止列 指明该变量要读取的数据的终止列号例如:INPUT NAME $ 1-8 S1 12-13;该语句从每个输入数据行的第1列至第8列读取字符型变量NAME的值,从第12列至第13列读取数值型变量S1的值。22列输入的特点: 适用于所有输入行中的同一变量值位于相同的 列时; 输入值可以任何顺序读入,无须考虑它们在输 入记录中的位置;例如:INPUT S1 12-13 NAME $ 1-8; 字符型数据可包含空格; 字符型数据可以最多到200个字符长; 可读取全部或部分数值。例如:INPUT ID 10-15 GROUP 13;第10 至15列为ID的值,ID的第4个数字即第13列 又是GROOP的值。 23列输入格式举例DATA CLASS;I
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号