SAS学习笔记之_N_

今天在看SAS的时候遇到了_N_, 不是太明白是几个意思,在网络上搜了一下,但是好像没有说的很明白的,搜了一些英文资料,并问了问同事,现在整理如下:

_N_系统参数,在DATA步中自动产生,不写入数据集中,在该DATA步可以使用,DATA步结束就自动收回该变量,并且_N_不可修改。该参数就是在DATA步读入数据时记录数据条数。

使用比较多的就是用_N_合并数据集。

data out ;

 if _n_ = <value> then set data1 ;

 set data2 ;

run ;

用一个具体的例子解释一下;

data A; *生成结果集,data步本身隐含循环取数;
 if _n_=1 then set avg; * avg只有一行记录,所以只取第一条记录,由于没有到达文件结尾,因而没有结束;
 set tot; *需要合并的数据集,在这个数据集的每行记录里面增加了avg数据集里面的变量;
run;


avg数据集里面数据:

avg

10

tot数据集:

id  num

1  15

2  5

A结果:

avg  id  num

10  1    15

10   2   5


我也尝试使用merge来实现,但是合并之后只有第一行有avg的数据,其他行没有,所以为了简单,还是用这个语句比较好,merge还需要额外的工作才可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值