SAS:变量输入输出格式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

INPUT语句
例8.1 列格式输入。
input @6 date ddmmyy10. @+1 stocd $ 8. oppr 8.2;
例中,从第6列开始以DDMMYY10.格 式读入变量DATE, 第7列开始以长度为 8的字符格式读入变量STOCD,然后以 数值格式8.2读入变量OPPR。
INPUT函数
cards;
xyz
.
uvw
; options nocenter; proc print noobs; run;
输出结果: xyz . uvw
INPUT语句采取自由格式输入时,INFORMAT或ATTRIB语句中不 能使用$CHAR.输入格式,因为SAS把空格看作数据行中数值间的分 隔符。
例8.13 不能放放在一起使用的语句。 informat x $char12.; input x y z; 例8.14直接赋值为字符型变量。 data a; x1='st92';
字符变量输入格式
$w.输入格式
读入标准字符数据。 在读入字符值之前,$w.输入格式清除字符值开头的空格。 $w.输入格式把一个点(.)转换为空格,因为它把一个点看作缺失值。
例8.11 读入数据时,清除数据开头空格并将(.)转换为缺失值。
data;
input name $5.;
cards;
xyz . uvw
例8.3 数值转换为字符时会产生不正确结果。 data; x=2557898; y=input(x,$8.); put y; run; 例中,产生的结果为255, 不正确。
例8.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.
SAS:变量输入输出格式
本章内容提要
输入格式; 输出格式; SAS日期时间存贮方式; 日期时间输入格式; 日期时间输出格式; 缺失值处理。
输入格式
输入格式是SAS系统用来读入数据值的一个指令。
输入格式形式 <$> INFORMAT <W>.<D>
选项说明:
$
规定为字符输入格式
INFORMAT 规定有效SAS输入格式
输出结果: xyz
;
options nocenter;
uvw
proc print noobs;
run;
$CHARw输入格式
读含有空格的字符数据。$CHARw.输入格式除了不清除字符值开头 的空作格外,它等同于标准的$w.输入格式。
例8.12 保留开头和结尾的空格。
data;
input name $char10.;
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;
结果显示x=12345.12.
data a; input x; informat x comma12.4; cards; 12,345.1234 22,345.1234 ; run;
通用规则:
所有输出格式必须包含一个点(.)作为名字的一部分; 省略W和D的值时,使用系统的缺省值; 无论怎样规定输出格式中的小数位,输出格式都不会影响
些东西。
永久性与临时性联系
DATA步规定的输入格式是永久联系 的;
PROC步规定的输入格式是临时联系 的。
输入格式类型
数值输入格式; 字符输入格式; 日期时间输入格式; 竖式二进制数输入格式; 使用FORMAT过程自读入标准数值数据。
W
规定输入数据的列数
D
规定数值输入格式中保留小数的位数
通用规则:
所有输入格式必须包含一个点(.)作为名字的一部分; 对于省略W和D值的输入格式,使用系统缺省值。
输入格式使用方法
INPUT语句; INPUT函数; DATA步中用INFORMAT或ATTRIB
语句;
PROC步中用INFORMAT或ATTRIB 语句。
在DATA步中用INFORMAT语句或ATTRIB语句
例8.5 DATA步中用INFORMAT语句。 data a; input x; informat x comma12.4; cards; 12,345.1234 22,345.1234 ; run; 例中,最好就是只用INFORMAT语句,不要用ATTRIB,这样可以少记
例8.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;
数值数据内可能包含的字符有: 逗号; 空格; $; %; 破折号; 圆括号等。
例8.8 读入带千分号的数据。 data a; input x comma12.2@; cards; 12,522.2315 ; run;
例8.10 数值变量输入格式应用举例。
data ;
informat x 8.2;
例8.6 INPUT语句对变量使用列指针控制和w.d的输入格式。 INPUT X 8.2; INPUT X 1-10 .2; W.D输入格式把一个点(.)作为缺失值。 用W.D输入格式时,数值域尾部的空白不表示0,用BZ.输入
格式可以把尾部空白读为0.
COMMAw.d 输入格式
COMMAw.d输入格式读入包含字符的数值。
x2='st92'; informat x $8. ;
x3="12,345.1234"; run;
输出格式
输出格式是SAS系统用来输出数据值的一个指令。 输出格式形式 <$> FORMAT <ω>.<d>
选项说明:
$ INFORMAT W D
规定为字符输出格式 规定有效SAS输出格式 规定输出数据的列数 规定数值输出格式中保留小数的位数
相关文档
最新文档