




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 建立数据集 Make the Data Set,主讲人:李桥,主要内容,利用数据步程序建立SAS数据集 从程序中直接提供数据 从文本数据文件中读取数据 从已有数据集中复制数据 使用交互式方式建立SAS数据集 将其他数据文件转换成SAS数据集,利用数据步程序建立SAS数据集,利用数据步建立数据集的三种方式 从程序中直接提供数据 Data语句;启动数据步 Input语句;描述和输入变量 Cards语句;标志数据开始 从文本数据文件中读取数据 Data 语句;启动数据步 Infile语句;指明存放数据的文本文件 Input语句;描述和输入变量 从已有数据集中复制数据 Data 语句;启动数据步 Set/Merge/Update语句;连接/合并/修改已有数据集,从程序中直接提供数据,建立SAS数据集 DATA语句: 作用:表明数据步的开始,并给出所建数据集的名称。 语句格式: DATA ; 注:语法符号含义: 表示必选项,用实际内容替换, 表示可选项,用实际内容替换, | 表示二选一, 无括号,表示关键词,直接使用。 说明: 数据集名必须以英文字母开始。 数据集名是由半角符号“.”分隔的两部分组成。第1部分称作1级名(libname或库逻辑名),它标识数据集所存贮的位置;第2部分称作2级名,标识特定的数据集。,几个概念: 永久数据集/临时数据集: SAS的数据集文件存储在磁盘上,用库逻辑名指定存储位置。如果不明确指定存储位置,SAS默认存储在临时工作区(Work),SAS退出时自动删除,这些数据集称为临时数据集。如:Data a; 如果指定了其他存储位置,如SAS提供的Sasuser库,则退出时不会删除,这些数据集称为永久数据集。如: Data sasuser.a; 也可通过Libname语句指定库逻辑名,自行确定存储位置。 注意:一旦建立了永久数据集,在每次使用该数据集名时必须同时指定库逻辑名。,当前数据集:SAS最后建立的数据集。 过程步中如不加指定,默认对当前数据集进行操作。 例: DATA D1; INPUT A B; CARDS; 3 5 7 9 ; DATA D2; INPUT C D; CARDS; 13 15 17 19 ; PROC PRINT; PROC PRINT DATA=D1; RUN;,Input语句: 作用:定义变量,并把输入值赋给相应的变量。 格式: Input ; 三种输入数据格式: 列表输入 列输入 格式化输入,列表输入:在Input语句中仅列出变量名;数据仅需用空格分割,不必列对齐。 例: Input name$ sex$ age h w; 优点:简单易用。 缺点: 1)只能按顺序输入变量,不能有选择的输入数据 2)不能输入带空格的数据 3)字符型数据长度受缺省8个字符的限制 注意:缺项值用“.”表示。,列输入:在Input语句中,变量名后用数字指明变量的取值在数据行中所处的列位置;数据要求严格列对齐,并出现在所要求的列上。 例: Input name $1-10 num 11-18 class 15 grade 11-14; cards; zhang san 20051001 Lisi 20052002 ; 优点: (1)输入值可以以任何顺序读入,只需标明列号 (2)字符型数据中可包含空格 (3)字符型数据可以最多到200个字符长 (4)可读取全部或部分数值 缺点:数据必须严格按照列位置输入。 注意:所读取列中只有空格或“.”时,被作为缺项值。,格式化输入:在Input 语句中,变量名后给出一个输入格式,输入格式用来说明变量的数据类型和字段的宽度;在数据中,数据一般要求列对齐,不必用空格隔开。 例: 字符格式:Input name $ 10. ; 数值格式:Input h 4.2 ; 日期格式:mmddyy10. date12. 例: Data a; Input d mmddyy10. d2 date12. ; cards; 10/19/2005 19/Oct/2005 ;,输出格式: 日期数据在输出时,可用Format语句指定输出格式,以便显示成可以理解的日期格式。 注意:输出格式不写数据长度。 例: Format d date. ; Format语句可用于数据步中,也可用于过程步中。,行保持符(续行符): 使SAS执行完Input语句后不换行,保持在同一数据行上,继续读数据。 例: Data a; input x y ; cards; 3.16 2.9 5.8 3 4.9 4.17 ; proc print; run;,从文本数据文件中读取数据,建立数据集 Infile语句: 作用:指明存放数据的文本文件,Input语句将从这个文件中读数据,程序中不再出现Cards语句和原始数据。该文件中只保存一行行的原始数据(不包括Cards;语句和数据最后的分号)。 语句格式: Infile “”; 说明: Infile语句要放在Input语句前,数据文件路径要与文件实际存储路径一致。,例: 数据文件准备:先在编辑环境下写好数据如下: 101 zhang M 1.80 80 102 wang F 1.65 50 然后保存在相应路径下,如:C:mydata.sas 编程:清除编辑窗口,输入以下程序: Data a; Infile “c:mydata.sas”; Input num name$ sex$ h w; Proc print; Run;,从已有数据集中复制数据,建立数据集 Set语句: 作用:复制或连接数据集。 语句格式: Set ; 说明:Set语句从一个已存在的数据集中依次读取每一个观测,可进行相应处理,然后依次写入新建的数据集。,例: DATA SCORE1; INPUT NUM S1-S3; CARDS; 1001 78 89 92 1002 87 92 97 1003 64 74 88 ; DATA TOT; SET SCORE1; TOTAL=SUM(OF S1-S3); PROC PRINT; RUN;,其他常用语句: 赋值语句 求和语句 删除和保留变量语句 Length语句 Label语句 Format语句 注释语句,赋值语句: = ; 求和语句: + ; 说明;累加和变量先置0,然后对欲求和变量的每个观测的值依次累加到累加和变量上,最后得到该变量各个观测值的累加和。 例: DATA A; INPUT X Y ; S+X; CARDS; 3 5 7 9 20 21 ; PROC PRINT; RUN;,删除和保留变量语句: 作用:在建立数据集时,将不需要的变量删除,最终数据集中只出现要保留的变量。 语句格式: Drop ; 删除变量 Keep ; 保留变量 说明:虽然Drop语句指明的变量不写入建立的数据集中,但是这些变量可在该数据步的所有编程语句中使用 。在 Data步中,Drop语句位于任何地方所产生的效果都相同(必须位于Data语句之后与Cards语句之前)。 Drop和Keep作用相反,不能在数据步中同时使用。,例: DATA PARTS; INPUT NAME $ S1 S2; TOTAL=S1+S2; DROP S1 S2; CARDS; zhanglin 78 89 wangqiang 95 87 ; Proc print; Run;,例: DATA PARTS; INPUT NAME $ S1 S2; TOTAL=S1+S2; KEEP NAME TOTAL; CARDS; zhanglin 78 89 wangqiang 95 87 ; Proc print; Run;,Length语句:指明字符变量长度。 语句格式:Length ; 例: DATA A; LENGTH NAME $ 13; INPUT NAME SEX $ H W; CARDS; ZhangZhihui F 1.70 52 ZhaoChangtai M 1.73 55 ; 注意: 由于NAME变量已在LENGTH语句中定义为字符型量,故INPUT语句中可以不再用$号作定义。,Label 语句 作用:当数据集输出(打印)时,用标号字符代替变量名,使对变量名称的描述更加详细。 语句格式: Label = ; 注意:为使标号有效输出,需在Print过程语句中加Label选项。 例: Data a; Input num $ sex $ h w; Label h=身高 w=体重; Cards; 101 M 1.72 61 ; Proc print Label; Run;,Format语句: 作用:指定变量的输出格式。 语句格式:Format ; 常用日期变量输出格式: mmddyy. date. worddate. 例: Data emplo; Input name $ T date9.; Format T worddate. ; Cards; Zhongli 15Jan2005 Liuwei 03Mar2005 ; Proc print; Run;,注释语句:对程序作出解释,或标记某语句不予执行。 格式: 语句开头加一个星号,用分号结束 用 /* */ 括起需要注释的程序语句 例: * - Example - ; Data a; Label n=name h=height; /* name 和 height 分别是变量 n和h 的标号 */ Input num n$ h; Cards; 1001 zhangsan 1.75 1002 lisi 1.82 ; Proc print label; Run;,使用交互式方式建立SAS数据集,应用VIEWTABLE表编辑器创建数据集 操作方法: 打开Viewtable :【工具】-【表编辑器】菜单 确定变量属性:右键单击变量名字段,选择弹出的“Column Attributes”菜单,打开变量属性窗口。确定变量的名称、类型、标号、长度、输入输出格式等属性。 输入观测数据。 保存数据集: 【文件】-【保存】/ 【另存为】菜单,选择逻辑库名,输入成员名(数据集名),保存数据集。,编辑修改数据集 打开已有数据集: 在SAS左侧窗格选中“SAS资源管理器”窗格,选中“逻辑库”文件夹,双击打开。(如找不到“逻辑库”文件夹,用菜单命令【查看】-【向上一级】) 双击打开所需查看的逻辑库:Sasuser或Work,找到所需的数据集,双击图标打开Viewtable编辑器。,编辑数据集: 数据集的编辑只能对观测进行添加、删除、修改,不能增删修改变量。 利用编辑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TS 23520:2025 EN Road vehicles - EQuipment eXchange (EQX) - Data format specification for operational information relevant for equipment exchange and test conduction
- 【正版授权】 ISO 18464:2025 EN Hydraulic fluid power - Design methodology for energy efficient systems
- 【正版授权】 IEC 60614-2-2:1980 RU Specification for conduits for electrical installations - Part 2: Particular specification for rigid plain conduits of insulating materials
- 【正版授权】 IEC 61084-1:1991/AMD1:1993 FR-D Amendment 1 - Cable trunking and ducting systems for electrical installations - Part 1: General requirements
- 【正版授权】 IEC 60433:1998 EN-D Insulators for overhead lines with a nominal voltage above 1 000 V - Ceramic insulators for a.c. systems - Characteristics of insulator units of the long
- 北方消防知识培训平台课件
- 校园电动车安全知识培训课件
- 校园消防知识培训目的课件
- 禁烟宣传面试题及答案
- 钳工考试题库及答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 余映潮阅读教学好课的设计读书
- 手机直播间搭建课程设计
- 【眼科学基础】眼科症状学
- 河道保洁服务投标方案
- 垂体功能减退症
- 大学生安全教育(高职版)实习实训与择业就业安全
- 2022新能源集控中心项目调试记录表
- 国家工作人员登记备案表
- 中考数学总复习经验交流课件
- 干部任免审批表(全国干部人事档案专项审核专用)
评论
0/150
提交评论