SAS学习之变量输入

1.数值型变量的输入格式:w.d。w表示数值的总位数或宽度(包括小数点),d表示数值的小数部分的位数,即使没有小数,点号也一定要加上。

data d;
input x 4.2;
cards;
12
2.1
15.6
23.46
;
proc print;
run;

SAS学习之变量输入_第1张图片

结果如上图所示,其中23.46算上小数点一共是5位,第五位的6就没有被读取。SAS读取整数时,没有小数点就自动把自己降为小数。

所以大多数情况下,数值不加输入格式,加上反而画蛇添足。

2.字符型变量的输入格式

输入格式主要是:$ w.其中$符号是必须加的,w表示字节数(1个中文占2字节),一般只有在变量宽度超过8字节的时候才有必要加,因为SAS默认对字符只读取8位。如果变量宽度超过8字节的时候才有必要加。格式中的“.”必须加。

3.日期型变量的输入格式

SAS学习之变量输入_第2张图片

3.两个特殊输入符——:和&

对变量指定宽度时,SAS就不再以默认的空格作为变量区分的标志了,而是按照指定的宽度来识别变量。

解决的办法就是在变量和输入格式之间加一个冒号(:)。冒号的作用是告诉SAS,如果要读取下一个变量,需要满足下面任一条件:要么遇到空格,要么变量的宽度读完了。

data d;
input city:$18. zone$;   /*在city后加了一个冒号*/
cards;
山东省蓬莱市 0536
山东省青岛市市南区 0532
;
proc print;
run;

SAS学习之变量输入_第3张图片

结果如上图所示

&符号的作用:如果变量本身包含空格,在变量后多加上一个&符号

data d;
input name&:$50. city&:$50.;
cards;
Peter Parker  山东省 蓬莱市
Ross Geller  山东省 青岛市 市南区
;
proc print;
run;

名字和城市之间空了两个空格,因为每个变量值本身就有空格,所以变量之间就需要用2个或2个以上的空格隔开,这样SAS就会把这2个或2个以上的空格作为变量分隔符。

你可能感兴趣的:(SAS)