第三章建立数据集 2.INPUT语句 用来描述在输入记录中的数据,并把输入值赋 给相应的变量。 语法:NPUT<变量列表>; Input语句中变量使用三种输入数据方式: 必列表输入 列输入 *格式化输入 6
第三章 建立数据集 6 2. INPUT语句 用来描述在输入记录中的数据,并把输入值赋 给相应的变量。 语法:INPUT <变量列表> ; Input 语句中变量使用三种输入数据方式: ❖ 列表输入 ❖ 列输入 ❖ 格式化输入
第三章建立数据集 (1)列表输入 在Input语句中,变量只简单列出变量名 在数据中,数据由空格分隔。 字符数据默认长度为8,若读入长数据,需用lengthi语句。 例:Input name age sex S1S2S3; 优点:简单易用。 缺点: 1)变量顺序必须与数据顺序一致。 2)不能有选择的读入数据,只能按顺序输入 如:有ABCDE,如只想输入ABD,不能跳过C。 3)不能输入带有空格的数据。 注意:缺项值用“”表示
第三章 建立数据集 7 (1)列表输入 在Input 语句中,变量只简单列出变量名 在数据中,数据由空格分隔。 字符数据默认长度为8,若读入长数据,需用length语句。 例:Input name $ age sex $ S1 S2 S3; 优点:简单易用。 缺点: 1)变量顺序必须与数据顺序一致。 2)不能有选择的读入数据,只能按顺序输入。 如:有A B C D E, 如只想输入A B D, 不能跳过C。 3)不能输入带有空格的数据。 注意:缺项值用“.”表示
第三章建立数据集 (2)列输入 在Input语句中,变量名后指出变量值所处的列号。 在数据中,同一变量的数据应位于相同的列上。 例: Input name 1-8 count 10-12; cards; zhangsan 101 Lisi 102 优点: 1)输入值可以以任何顺序读入: INPUT FIR 73-80 SEC 10-12; 2)字符型数据中可包含空格 3) 字符型数据可以最多到200个字符长 4)可读取全部或部分数值:INPUT ID10-15 GROUP13; 缺点: 数据必须严格按照列位置输入。 注意:所读取列中只有空格或“”时, 被作为缺项值。 8
第三章 建立数据集 8 (2)列输入 在Input 语句中,变量名后指出变量值所处的列号。 在数据中,同一变量的数据应位于相同的列上。 例: Input name $ 1-8 count 10-12; cards; zhangsan 101 Lisi 102 优点: 1)输入值可以以任何顺序读入:INPUT FIR 73-80 SEC 10-12; 2)字符型数据中可包含空格 3)字符型数据可以最多到200个字符长 4)可读取全部或部分数值:INPUT ID 10-15 GROUP 13; 缺点:数据必须严格按照列位置输入。 注意:所读取列中只有空格或“.”时,被作为缺项值
第三章建立数据集 (3)格式化输入 在Input语句中,变量名后给出一个输入格式。输入格式用来 说明变量的数据类型和字段的宽度。 在数据中,数据一般要求列对齐。 例:INPUT NAME S10.H4.2; 适合输入日期型数据: DATA DAYS; INPUT NUM S BIRTHDAY MMDDYY8.TESTDAY DATE10.WT; CARDS; 10017-21-963MAR9710 100210/30/9614/小AN/974 100306199613JUN19979 100403079729AUG973 RUN;
第三章 建立数据集 9 (3)格式化输入 在Input 语句中,变量名后给出一个输入格式。 输入格式用来 说明变量的数据类型和字段的宽度。 在数据中,数据一般要求列对齐。 例:INPUT NAME $10. H 4.2; 适合输入日期型数据: DATA DAYS; INPUT NUM $ BIRTHDAY MMDDYY8. TESTDAY DATE10. WT; CARDS; 1001 7-21-96 3MAR97 10 1002 10/30/96 14/JAN/97 4 1003 06 19 96 13JUN1997 9 1004 03 07 97 29 AUG 97 3 ; RUN;
第三章建立数据集 注意: 。格式化读入时,读数据指针按给出的格式长度移动。 MMDDYY8. 格式读入日期值时,日期值最长占8列。如格式给 出的长度不足,则会出现数据截尾。DATD10.格式是按 ddmmmyy的格式读入数据的,最长可读入10列。 ●日期在SAS系统中的表示是用1960年1月1日至读入那一天 之间的天数表示的。如读入的日期在1960年以前,则用负数表 示。这种表示便于进行计算。 ●输出时一般要用相应的格式,详见8.③)中FORMAT语句。 ●简化输入:如有X1,X2.X10十个字符型量的值紧挨在 一起,每个量长度为3,则: INPUT (X1-X10)($3.);
第三章 建立数据集 10 注意: ●格式化读入时,读数据指针按给出的格式长度移动。 MMDDYY8. 格式读入日期值时,日期值最长占8列。如格式给 出 的 长度 不足 ,则 会出 现数 据截 尾。 DATE10. 格 式是 按 ddmmmyy的格式读入数据的,最长可读入10列。 ●日期在SAS系统中的表示是用1960年1月1日至读入那一天 之间的天数表示的。 如读入的日期在1960年以前, 则用负数表 示。这种表示便于进行计算。 ●输出时一般要用相应的格式,详见8.(3)中FORMAT语句。 ● 简化输入:如有X1,X2......X10十个字符型量的值紧挨在 一起,每个量长度为3, 则 : INPUT (X1-X10) ($3.);