Tuesday, December 21, 2010

SAS中 @ 和 @@ 的比较

@@用来读取多个观测值存贮在一行当中。比如
input age sex $ @@;
cards;
23 F  25 M  32 F
32 M  64 F  25 M
;


@也是用来hold data。但是只是暂停。当SAS回到数据顶部开始读入新的观测值的时候就释放了,不再hold。比如下例:


INPUT Type $ @;
IF Type = ’surface’ THEN DELETE;
INPUT Name $ 9-38 AMTraffic PMTraffic;


这儿的两个input。第一个input读入type,但是没有直接读进data中。而是等后面的if来判断。如果type有surface的值,第二个input就不执行。而是返回读新的observation。

@还有一个作用就是用来做pointer,@12指到第12列。

More details on <The little SAS Book >
@ compared to @@ 55
@, trailing 54-55, 244
@@, double trailing 52-53

No comments:

Post a Comment