《三章建立数据集MaketheDataSet.ppt》由会员分享,可在线阅读,更多相关《三章建立数据集MaketheDataSet.ppt(29页珍藏版)》请在三一文库上搜索。
1、第三章 建立数据集 Make the Data Set 主讲人:李桥 主要内容 n利用数据步程序建立SAS数据集 n从程序中直接提供数据 n从文本数据文件中读取数据 n从已有数据集中复制数据 n使用交互式方式建立SAS数据集 n将其他数据文件转换成SAS数据集 利用数据步程序建立SAS数据集 n利用数据步建立数据集的三种方式 n从程序中直接提供数据 nData语句;启动数据步 nInput语句;描述和输入变量 nCards语句;标志数据开始 n从文本数据文件中读取数据 nData 语句;启动数据步 nInfile语句;指明存放数据的文本文件 nInput语句;描述和输入变量 n从已有数据集中复
2、制数据 nData 语句;启动数据步 nSet/Merge/Update语句;连接/合并/修改已有数据集 n从程序中直接提供数据,建立SAS数据集 nDATA语句: n作用:表明数据步的开始,并给出所建数据集的名称。 n语句格式: DATA ; n注:语法符号含义: 表示必选项,用实际内容替换, 表示可选项,用实际内容替换, | 表示二选一, 无括号,表示关键词,直接使用。 n说明: 数据集名必须以英文字母开始。 数据集名是由半角符号“.”分隔的两部分组成。第1部分 称作1级名(libname或库逻辑名),它标识数据集所存贮的位置 ;第2部分称作2级名,标识特定的数据集。 n几个概念: n永久
3、数据集/临时数据集: SAS的数据集文件存储在磁盘上,用库逻辑名指定存储位 置。如果不明确指定存储位置,SAS默认存储在临时工作 区(Work),SAS退出时自动删除,这些数据集称为临时 数据集。如:Data a; 如果指定了其他存储位置,如SAS提供的Sasuser库,则退 出时不会删除,这些数据集称为永久数据集。如: Data sasuser.a; 也可通过Libname语句指定库逻辑名,自行确定存储位置 。 n注意:一旦建立了永久数据集,在每次使用该数据集 名时必须同时指定库逻辑名。 n当前数据集:SAS最后建立的数据集。 过程步中如不加指定,默认对当前数据集进行操作。 例: DATA
4、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; nInput语句: n作用:定义变量,并把输入值赋给相应的变量。 n格式: Input ; n三种输入数据格式: n列表输入 n列输入 n格式化输入 n列表输入:在Input语句中仅列出变量名;数据仅需用空格 分割,不必列对齐。 n例: Input name$ sex$ age h w; n优点:简单易用。 n缺点: 1)只能按顺序输入变量,不能有选择的输入数据 2)不能输入带
5、空格的数据 3)字符型数据长度受缺省8个字符的限制 n注意:缺项值用“.”表示。 n列输入:在Input语句中,变量名后用数字指明变量的取值在数 据行中所处的列位置;数据要求严格列对齐,并出现在所要求的 列上。 n例: Input name $1-10 num 11-18 class 15 grade 11-14; cards; zhang san 20051001 Lisi 20052002 ; n优点: (1)输入值可以以任何顺序读入,只需标明列号 (2)字符型数据中可包含空格 (3)字符型数据可以最多到200个字符长 (4)可读取全部或部分数值 n缺点:数据必须严格按照列位置输入。 n注
6、意:所读取列中只有空格或“.”时,被作为缺项值。 n格式化输入:在Input 语句中,变量名后给出一个输入格 式,输入格式用来说明变量的数据类型和字段的宽度;在 数据中,数据一般要求列对齐,不必用空格隔开。 n例: 字符格式:Input name $ 10. ; 数值格式:Input h 4.2 ; 日期格式:mmddyy10. date12. 例: Data a; Input d mmddyy10. d2 date12. ; cards; 10/19/2005 19/Oct/2005 ; n输出格式: 日期数据在输出时,可用Format语句指定输出格式, 以便显示成可以理解的日期格式。 n注
7、意:输出格式不写数据长度。 n例: Format d date. ; Format语句可用于数据步中,也可用于过程步中。 n行保持符(续行符): n使SAS执行完Input语句后不换行,保持在同一数据 行上,继续读数据。 n例: Data a; input x y ; cards; 3.16 2.9 5.8 3 4.9 4.17 ; proc print; run; n从文本数据文件中读取数据,建立数据集 nInfile语句: n作用:指明存放数据的文本文件,Input语句将从这 个文件中读数据,程序中不再出现Cards语句和原始 数据。该文件中只保存一行行的原始数据(不包括 Cards;语句
8、和数据最后的分号)。 n语句格式: Infile “”; n说明: Infile语句要放在Input语句前,数据文件路径要与文 件实际存储路径一致。 n例: n数据文件准备:先在编辑环境下写好数据如下: 101 zhang M 1.80 80 102 wang F 1.65 50 然后保存在相应路径下,如:C:mydata.sas n编程:清除编辑窗口,输入以下程序: Data a; Infile “c:mydata.sas”; Input num name$ sex$ h w; Proc print; Run; n从已有数据集中复制数据,建立数据集 nSet语句: n作用:复制或连接数据集。
9、 n语句格式: Set ; n说明:Set语句从一个已存在的数据集中依次读取每 一个观测,可进行相应处理,然后依次写入新建的 数据集。 n例: 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; n其他常用语句: n赋值语句 n求和语句 n删除和保留变量语句 nLength语句 nLabel语句 nFormat语句 n注释语句 n赋值语句: = ; n求和语句: +
10、; n说明;累加和变量先置0,然后对欲求和变量的每个观测的值 依次累加到累加和变量上,最后得到该变量各个观测值的累加 和。 n例: DATA A; INPUT X Y ; S+X; CARDS; 3 5 7 9 20 21 ; PROC PRINT; RUN; n删除和保留变量语句: n作用:在建立数据集时,将不需要的变量删除,最 终数据集中只出现要保留的变量。 n语句格式: Drop ;删除变量 Keep ;保留变量 n说明:虽然Drop语句指明的变量不写入建立的数据 集中,但是这些变量可在该数据步的所有编程语句 中使用 。在 Data步中,Drop语句位于任何地方所 产生的效果都相同(必须
11、位于Data语句之后与Cards 语句之前)。 Drop和Keep作用相反,不能在数据步中同时使用。 n例: DATA PARTS; INPUT NAME $ S1 S2; TOTAL=S1+S2; DROP S1 S2; CARDS; zhanglin 78 89 wangqiang 95 87 ; Proc print; Run; n例: DATA PARTS; INPUT NAME $ S1 S2; TOTAL=S1+S2; KEEP NAME TOTAL; CARDS; zhanglin 78 89 wangqiang 95 87 ; Proc print; Run; nLength语
12、句:指明字符变量长度。 n语句格式:Length ; n例: DATA A; LENGTH NAME $ 13; INPUT NAME SEX $ H W; CARDS; ZhangZhihui F 1.70 52 ZhaoChangtai M 1.73 55 ; n注意: 由于NAME变量已在LENGTH语句中定义为字符型量 ,故INPUT语句中可以不再用$号作定义。 nLabel 语句 n作用:当数据集输出(打印)时,用标号字符代替变量名,使 对变量名称的描述更加详细。 n语句格式: Label = ; n注意:为使标号有效输出,需在Print过程语句中加Label选项 。 n例: Dat
13、a a; Input num $ sex $ h w; Label h=身高 w=体重; Cards; 101 M 1.72 61 ; Proc print Label; Run; nFormat语句: n作用:指定变量的输出格式。 n语句格式:Format ; n常用日期变量输出格式: mmddyy. date. worddate. n例: Data emplo; Input name $ T date9.; Format T worddate. ; Cards; Zhongli 15Jan2005 Liuwei 03Mar2005 ; Proc print; Run; n注释语句:对程序作
14、出解释,或标记某语句不予执行。 n格式: n语句开头加一个星号,用分号结束 n用 /* */ 括起需要注释的程序语句 n例: * - 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数据集 n应用VIEWTABLE表编辑器创建数据集 n操作方法: n打开Viewtable :【工具】-【表编辑器】菜单 n
15、确定变量属性:右键单击变量名字段,选择弹出的 “Column Attributes”菜单,打开变量属性窗口。确 定变量的名称、类型、标号、长度、输入输出格式 等属性。 n输入观测数据。 n保存数据集: 【文件】-【保存】/ 【另存为】菜 单,选择逻辑库名,输入成员名(数据集名),保 存数据集。 n编辑修改数据集 n打开已有数据集: n在SAS左侧窗格选中“SAS资源管理器”窗格,选中“ 逻辑库”文件夹,双击打开。(如找不到“逻辑库”文 件夹,用菜单命令【查看】-【向上一级】) n双击打开所需查看的逻辑库:Sasuser或Work,找到 所需的数据集,双击图标打开Viewtable编辑器。 n编辑数据集: n数据集的编辑只能对观测进行添加、删除、修改, 不能增删修改变量。 n利用编辑工具栏按钮 / 编辑菜单进行编辑操作。 n编辑方法: n进入编辑模式:按“编辑”按钮或选择【编辑】-【编辑模 式】菜单 n添加新行:选择【编辑】-【添加行】,输入数据后选择 【编辑】-【提交新行】。或采用“添加行”和“确认新建行 ”工具按钮。 n保存修改:【文件】-【保存】菜单。 将其他数据文件转换成SAS数据集 nSAS支持将其他数据文件如:Excel, Access,dBase,文本文件等转换成SAS数 据集。 n转换方法:通过菜单:【文件】 【导入 数据】,按向导逐步操作。
链接地址:https://www.31doc.com/p-2626193.html