SAS中文论坛

标题: 如何保留每个id前两行observation? [打印本页]

作者: shiyiming    时间: 2007-1-26 17:53
标题: 如何保留每个id前两行observation?
比如:有数据集a:
id price amount
1    5     3
1    6     4
1    7     8
1   10     11
2    3     5
2    4     7
2    5     6
2    7     3
如何得到
id price amount
1   5     3
1   6     4
2   3     5
2   4     7
就是说,要保留每个id前两行的observation该怎么做?谢谢!!!!
作者: shiyiming    时间: 2007-1-26 22:16
标题: RE:
/* Assume the dataset being sorted by id. */
[code:24794]data a(drop=flag); set a; by id;
if first.id then flag=0;
flag+1;
if flag <=2 then output;
run;
[/code:24794]
作者: shiyiming    时间: 2007-1-26 22:23
标题: 数据集c就是结果
数据集c就是要的结果。[code:fb1ef]data a;
input id price amount;
cards;
1 5 3
1 6 4
1 7 8
1 10 11
2 3 5
2 4 7
2 5 6
2 7 3
;
data b;
set a;
by id;
if first.id then i=1;
else i+1;
data c(drop=i);
set b;
if i<=2;
run;[/code:fb1ef]
作者: shiyiming    时间: 2007-1-27 01:24
标题: 谢谢
谢谢两位!




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2