全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2155 3
2014-09-24
各位好!

我有一个问题比较着急,就是我需要对数据进行计数 ,但是需要在每组观测值最大值处断开,重新计数 ,如下,根据前两列,得到第三列,请高手帮忙想想!多谢

id

obj

count

a

0.5

1

a

0.6

2

a

1

1

a

0.5

2

a

0.4

3

a

0.5

4

b

1.1

1

b

1.2

2

b

2.1

1

b

1.1

2

b

0.9

3


二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-24 14:39:56
写得真好                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 
二维码

扫码加我 拉你入群

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

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

2014-9-25 12:54:40
data a;
infile 'F:\a.txt' delimiter='09'x;
input id $ seg;
if _n_=1 then delete;
run;

proc sql;
create table b as
select id,max(seg) as seg
from a
group by id
;
quit;

proc sql;
create table c as
select a.*,
case when a.id=b.id and a.seg=b.seg then '1' end as qujian
from a ,b
where a.id=b.id
;
quit;

data d(drop=qujian);
        set c;
        if seg=1 then do;
           num1=1;
           end;

           else do ;
                        if qujian=1 then do;
                  num1=1;
                 end;
                         else do;
                  num1+1;
                         end;
           end;
run;
二维码

扫码加我 拉你入群

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

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

2014-9-25 12:56:18
2010yangxiujuan 发表于 2014-9-25 12:54
data a;
infile 'F:\a.txt' delimiter='09'x;
input id $ seg;
a 为数据集,obj换成seg
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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