SAS编程:变量输入输出格式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通用规则: 所有输入格式必须包含一个点(.)作为名字的一部分; 对于省略W和D值的输入格式,使用系统缺省值。
输入格式使用方法
INPUT语句; INPUT函数; DATA步中用INFORMAT或ATTRIB语句; PROC步中用INFORMAT或ATTRIB语句。
INPUT语句
在DATA步中用INFORMAT语句或ATTRIB语句
例13.5 DATA步中用INFORMAT语句。 data a; input x; informat x comma12.4; cards; 12,345.1234 22,345.1234 ; run; 例中,最好就是只用INFORMAT语句,不要用ATTRIB,这样可以少记些 东西。
$CHARw输入格式
读含有空格的字符数据。$CHARw.输入格式除了不清除字符值开头的空 作格外,它等同于标准的$w.输入格式。
例13.12 保留开头和结尾的空格。 data; input name $char10.; cards; xyz . uvw 输出结果: ; xyz options nocenter; . proc print noobs; uvw run; INPUT语句采取自由格式输入时,INFORMAT或ATTRIB语句中不能使用 $CHAR.输入格式,因为SAS把空格看作数据行中数值间的分隔符。
结果显示x=12345.12.
字符变量输入格式
$w.输入格式
读入标准字符数据。 在读入字符值之前,$w.输入格式清除字符值开头的空格。 $w.输入格式把一个点(.)转换为空格,因为它把一个点看作缺失值。 例13.11 读入数据时,清除数据开头空格并将(.)转换为缺失值。 data; input name $5.; cards; xyz 输出结果: . xyz uvw ; uvw options nocenter; proc print noobs; run;
例13.13 不能放放在一起使用的语句。 informat x $char12.; input x y z; 例13.14直接赋值为字符型变量。 data a; x1='st92'; x2='st92'; informat x $8. ; x3="12,345.1234"; run;
输出格式
输出格式是SAS系统用来输出数据值的一个指令。 输出格式形式 <$> FORMAT <ω>.<d> 选项说明:
$ INFORMAT W D 规定为字符输出格式 规定有效SAS输出格式 规定输出数据的列数 规定数值输wenku.baidu.com格式中保留小数的位数
永久性与临时性联系
DATA步规定的输入格式是永久联系的; PROC步规定的输入格式是临时联系的。
输入格式类型
数值输入格式; 字符输入格式; 日期时间输入格式; 竖式二进制数输入格式; 使用FORMAT过程自定义的输入格式。
数值变量输入格式
w.d输入格式
读入标准数值数据。
例13.3 数值转换为字符时会产生不正确结果。 data; x=2557898; y=input(x,$8.); put y; run; 例中,产生的结果为255, 不正确。
例13.4 PUT函数将数值转换为字符。 data; x=2557898; y=put(x, $8.); put y; run; 例中,用PUT函数得到正确结果,即字符型2557898. data; x=2557898; y=put(x, $3.); put y; run; 例中,Y的结果为3E6.
例13.1 列格式输入。 input @6 date ddmmyy10. @+1 stocd $ 8. oppr 8.2;
例中,从第6列开始以DDMMYY10.格式读入变量 DATE, 第7列开始以长度为8的字符格式读入变量 STOCD,然后以数值格式8.2读入变量OPPR。
INPUT函数
例13.2 字符转换数值。 data; x='98.6'; y=input(x, 4.); put x= y=; run; 例中,INPUT函数和w.d输入格式将X的字符值转换为一个数值Y. INPUT函数对于数据的转换是很有用的,当然,有更简单的方法将字符 值转换为数值。 data; x='98.6'; y=x-0; put x= y=; run;
数值数据内可能包含的字符有: 逗号; 空格; $; %; 破折号; 圆括号等。 例13.8 读入带千分号的数据。 data a; input x comma12.2@; cards; 12,522.2315 ; run;
例13.10 数值变量输入格式应用举例。 data ; informat x 8.2; x=12345.1234; put x=; run; 结果显示x=12345.1234. data a; x=12345.1234; informat x 12.4; format x 8.2; put x=; run; data a; input x; informat x comma12.4; cards; 12,345.1234 22,345.1234 ; run;
变量输入输出格式
本章内容包括:
输入格式; 输出格式; SAS日期时间存贮方式; 日期时间输入格式; 日期时间输出格式; 缺失值处理。
输入格式
输入格式是SAS系统用来读入数据值的一个指令。 输入格式形式 <$> INFORMAT <W>.<D>
选项说明:
$ INFORMAT W D 规定为字符输入格式 规定有效SAS输入格式 规定输入数据的列数 规定数值输入格式中保留小数的位数
例13.6 INPUT语句对变量使用列指针控制和w.d的输入格式。 INPUT X 8.2; INPUT X 1-10 .2; W.D输入格式把一个点(.)作为缺失值。 用W.D输入格式时,数值域尾部的空白不表示0,用BZ.输入 格式可以把尾部空白读为0.
COMMAw.d 输入格式
COMMAw.d输入格式读入包含字符的数值。