《第三章建立数据集MaketheDataSet》由会员分享,可在线阅读,更多相关《第三章建立数据集MaketheDataSet(29页珍藏版)》请在金锄头文库上搜索。
1、第三章第三章 建立数据集建立数据集 Make the Data Set主讲人:李桥主讲人:李桥主要内容主要内容n n利用数据步程序建立利用数据步程序建立SAS数据集数据集n n从程序中直接提供数据从程序中直接提供数据从程序中直接提供数据从程序中直接提供数据n n从文本数据文件中读取数据从文本数据文件中读取数据从文本数据文件中读取数据从文本数据文件中读取数据n n从已有数据集中复制数据从已有数据集中复制数据从已有数据集中复制数据从已有数据集中复制数据n n使用交互式方式建立使用交互式方式建立SAS数据集数据集n n将其他数据文件转换成将其他数据文件转换成SAS数据集数据集利用数据步程序建立利用数
2、据步程序建立SAS数据集数据集n n利用数据步建立数据集的三种方式利用数据步建立数据集的三种方式利用数据步建立数据集的三种方式利用数据步建立数据集的三种方式n n从程序中直接提供数据从程序中直接提供数据从程序中直接提供数据从程序中直接提供数据n nDataData语句;启动数据步语句;启动数据步语句;启动数据步语句;启动数据步n nInputInput语句;描述和输入变量语句;描述和输入变量语句;描述和输入变量语句;描述和输入变量n nCardsCards语句;标志数据开始语句;标志数据开始语句;标志数据开始语句;标志数据开始n n从文本数据文件中读取数据从文本数据文件中读取数据从文本数据文件
3、中读取数据从文本数据文件中读取数据n nData Data 语句;启动数据步语句;启动数据步语句;启动数据步语句;启动数据步n nInfileInfile语句;指明存放数据的文本文件语句;指明存放数据的文本文件语句;指明存放数据的文本文件语句;指明存放数据的文本文件n nInputInput语句;描述和输入变量语句;描述和输入变量语句;描述和输入变量语句;描述和输入变量n n从已有数据集中复制数据从已有数据集中复制数据从已有数据集中复制数据从已有数据集中复制数据n nData Data 语句;启动数据步语句;启动数据步语句;启动数据步语句;启动数据步n nSet/Merge/UpdateSet
4、/Merge/Update语句;连接语句;连接语句;连接语句;连接/ /合并合并合并合并/ /修改已有数据集修改已有数据集修改已有数据集修改已有数据集n n从程序中直接提供数据,建立从程序中直接提供数据,建立从程序中直接提供数据,建立从程序中直接提供数据,建立SASSAS数据集数据集数据集数据集n nDATADATA语句:语句:语句:语句:n n作用:表明数据步的开始,并给出所建数据集的名称。作用:表明数据步的开始,并给出所建数据集的名称。作用:表明数据步的开始,并给出所建数据集的名称。作用:表明数据步的开始,并给出所建数据集的名称。n n语句格式:语句格式:语句格式:语句格式:DATA DA
5、TA ;n n注:语法符号含义:注:语法符号含义:注:语法符号含义:注:语法符号含义: 表示必选项,用实际内容替换,表示必选项,用实际内容替换,表示必选项,用实际内容替换,表示必选项,用实际内容替换, 表示可选项,用实际内容替换,表示可选项,用实际内容替换,表示可选项,用实际内容替换,表示可选项,用实际内容替换,| | 表示二选一,表示二选一,表示二选一,表示二选一,无括号,表示关键词,直接使用。无括号,表示关键词,直接使用。无括号,表示关键词,直接使用。无括号,表示关键词,直接使用。n n说明:说明:说明:说明:数据集名必须以英文字母开始。数据集名必须以英文字母开始。数据集名必须以英文字母开
6、始。数据集名必须以英文字母开始。数据集名是由半角符号数据集名是由半角符号数据集名是由半角符号数据集名是由半角符号“ “.” .”分隔的两部分组成。第分隔的两部分组成。第分隔的两部分组成。第分隔的两部分组成。第1 1部部部部分称作分称作分称作分称作1 1级名级名级名级名( (libnamelibname或库逻辑名或库逻辑名或库逻辑名或库逻辑名) ),它标识数据集所存贮的位,它标识数据集所存贮的位,它标识数据集所存贮的位,它标识数据集所存贮的位置;第置;第置;第置;第2 2部分称作部分称作部分称作部分称作2 2级名,标识特定的数据集。级名,标识特定的数据集。级名,标识特定的数据集。级名,标识特定的
7、数据集。n n几个概念:几个概念:几个概念:几个概念:n n永久数据集永久数据集永久数据集永久数据集/ /临时数据集:临时数据集:临时数据集:临时数据集:SASSAS的数据集文件存储在磁盘上,用库逻辑名指定存储位的数据集文件存储在磁盘上,用库逻辑名指定存储位的数据集文件存储在磁盘上,用库逻辑名指定存储位的数据集文件存储在磁盘上,用库逻辑名指定存储位置。如果不明确指定存储位置,置。如果不明确指定存储位置,置。如果不明确指定存储位置,置。如果不明确指定存储位置,SASSAS默认存储在临时工作默认存储在临时工作默认存储在临时工作默认存储在临时工作区(区(区(区(WorkWork),),),),SAS
8、SAS退出时自动删除,这些数据集称为临时退出时自动删除,这些数据集称为临时退出时自动删除,这些数据集称为临时退出时自动删除,这些数据集称为临时数据集。如:数据集。如:数据集。如:数据集。如:Data a;Data a;如果指定了其他存储位置,如如果指定了其他存储位置,如如果指定了其他存储位置,如如果指定了其他存储位置,如SASSAS提供的提供的提供的提供的SasuserSasuser库,则退库,则退库,则退库,则退出时不会删除,这些数据集称为永久数据集。如:出时不会删除,这些数据集称为永久数据集。如:出时不会删除,这些数据集称为永久数据集。如:出时不会删除,这些数据集称为永久数据集。如:Dat
9、a Data sasuser.asasuser.a; ;也可通过也可通过也可通过也可通过LibnameLibname语句指定库逻辑名,自行确定存储位置。语句指定库逻辑名,自行确定存储位置。语句指定库逻辑名,自行确定存储位置。语句指定库逻辑名,自行确定存储位置。n n注意:一旦建立了永久数据集,在每次使用该数据集注意:一旦建立了永久数据集,在每次使用该数据集注意:一旦建立了永久数据集,在每次使用该数据集注意:一旦建立了永久数据集,在每次使用该数据集名时必须同时指定库逻辑名。名时必须同时指定库逻辑名。名时必须同时指定库逻辑名。名时必须同时指定库逻辑名。n n当前数据集:当前数据集:当前数据集:当前
10、数据集:SASSAS最后建立的数据集。最后建立的数据集。最后建立的数据集。最后建立的数据集。过程步中如不加指定,默认对当前数据集进行操作。过程步中如不加指定,默认对当前数据集进行操作。过程步中如不加指定,默认对当前数据集进行操作。过程步中如不加指定,默认对当前数据集进行操作。例:例:例:例: DATA D1;DATA D1; INPUT A B; INPUT A B; CARDS; CARDS; 3 5 3 5 7 9 7 9; ;DATA D2;DATA D2; INPUT C D; INPUT C D; CARDS; CARDS; 13 15 13 15 17 19 17 19; ;PRO
11、C PRINT;PROC PRINT;PROC PRINT DATA=D1;PROC PRINT DATA=D1;RUN;RUN;n nInputInput语句:语句:语句:语句:n n作用:定义变量,并把输入值赋给相应的变量。作用:定义变量,并把输入值赋给相应的变量。作用:定义变量,并把输入值赋给相应的变量。作用:定义变量,并把输入值赋给相应的变量。n n格式:格式:格式:格式:Input ;Input ;n n三种输入数据格式:三种输入数据格式:三种输入数据格式:三种输入数据格式:n n列表输入列表输入列表输入列表输入n n列输入列输入列输入列输入n n格式化输入格式化输入格式化输入格式化
12、输入 n n列表输入:在列表输入:在列表输入:在列表输入:在InputInput语句中仅列出变量名;数据仅需用空语句中仅列出变量名;数据仅需用空语句中仅列出变量名;数据仅需用空语句中仅列出变量名;数据仅需用空格分割,不必列对齐。格分割,不必列对齐。格分割,不必列对齐。格分割,不必列对齐。n n例:例:例:例:Input name$ sex$ age h w;Input name$ sex$ age h w;n n优点:简单易用。优点:简单易用。优点:简单易用。优点:简单易用。n n缺点:缺点:缺点:缺点:1 1)只能按顺序输入变量,不能有选择的输入数据)只能按顺序输入变量,不能有选择的输入数据
13、)只能按顺序输入变量,不能有选择的输入数据)只能按顺序输入变量,不能有选择的输入数据2 2)不能输入带空格的数据)不能输入带空格的数据)不能输入带空格的数据)不能输入带空格的数据3 3)字符型数据长度受缺省)字符型数据长度受缺省)字符型数据长度受缺省)字符型数据长度受缺省8 8个字符的限制个字符的限制个字符的限制个字符的限制n n注意:缺项值用注意:缺项值用注意:缺项值用注意:缺项值用“ “.” .”表示。表示。表示。表示。n n列输入:在列输入:在列输入:在列输入:在InputInput语句中,变量名后用数字指明变量的取值在数语句中,变量名后用数字指明变量的取值在数语句中,变量名后用数字指明
14、变量的取值在数语句中,变量名后用数字指明变量的取值在数据行中所处的列位置;数据要求严格列对齐,并出现在所要求的据行中所处的列位置;数据要求严格列对齐,并出现在所要求的据行中所处的列位置;数据要求严格列对齐,并出现在所要求的据行中所处的列位置;数据要求严格列对齐,并出现在所要求的列上。列上。列上。列上。n n例:例:例:例:Input name Input name $1-10$1-10 num num 11-1811-18 class class 1515 grade grade 11-1411-14; ;cards;cards;zhangzhang san 20051001 san 2005
15、1001LisiLisi 20052002 20052002; ;n n优点:优点:优点:优点:(1 1 1 1)输入值可以以任何顺序读入,只需标明列号)输入值可以以任何顺序读入,只需标明列号)输入值可以以任何顺序读入,只需标明列号)输入值可以以任何顺序读入,只需标明列号 (2 2 2 2)字符型数据中可包含空格)字符型数据中可包含空格)字符型数据中可包含空格)字符型数据中可包含空格 (3 3 3 3)字符型数据可以最多到)字符型数据可以最多到)字符型数据可以最多到)字符型数据可以最多到200200200200个字符长个字符长个字符长个字符长 (4 4 4 4)可读取全部或部分数值)可读取全部
16、或部分数值)可读取全部或部分数值)可读取全部或部分数值 n n缺点:数据必须严格按照列位置输入。缺点:数据必须严格按照列位置输入。缺点:数据必须严格按照列位置输入。缺点:数据必须严格按照列位置输入。n n注意:所读取列中只有空格或注意:所读取列中只有空格或注意:所读取列中只有空格或注意:所读取列中只有空格或“. . . .”时,被作为缺项值。时,被作为缺项值。时,被作为缺项值。时,被作为缺项值。n n格式化输入:在格式化输入:在格式化输入:在格式化输入:在Input Input 语句中,变量名后给出一个输入格语句中,变量名后给出一个输入格语句中,变量名后给出一个输入格语句中,变量名后给出一个输入格式,输入格式用来说明变量的数据类型和字段的宽度;在式,输入格式用来说明变量的数据类型和字段的宽度;在式,输入格式用来说明变量的数据类型和字段的宽度;在式,输入格式用来说明变量的数据类型和字段的宽度;在数据中,数据一般要求列对齐,不必用空格隔开。数据中,数据一般要求列对齐,不必用空格隔开。数据中,数据一般要求列对齐,不必用空格隔开。数据中,数据一般要求列对齐,不必用空格隔开。n n例:例:例:例