全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5423 20
2010-02-04
data a;
input x y @@;
cards;
1 0
1 0
1 1
1 0
1 3
2 0
2 0
2 6
2 7
2 0
2 9
;
run;

现在想按照x分组,提取出从第一个非零的数后的所有记录。比如上面的结果应该为;
x   y
1  1
1  0
1  3  
2  6
2  7
2  0
2  9
谢谢哈。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-2-4 14:22:45
data a1;
      set a;
      z+abs(y);
      if z^=0;
      keep x y;
run;


1# wdxmahone
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-2-4 14:32:39
proc sort data=a out=b;
        by x;
run;

data c(drop=z);
        set b;
        by x;
        z+y;
        if first.x then do;
        z=0;
        end;
        if z>0 then output;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-2-4 14:40:00
2# frackdeng

谢谢,差不多正确,就是没有考虑分组,这个可以解决的。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-2-4 14:40:31
3# 醉_清风

很好,谢谢哈。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-2-4 14:46:13
好像楼上没按x分组。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群