楼主: jw21
1250 3

SAS 分组 [推广有奖]

  • 1关注
  • 3粉丝

教授

38%

还不是VIP/贵宾

-

威望
0
论坛币
118940 个
通用积分
0.0528
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2673 点
帖子
109
精华
0
在线时间
2613 小时
注册时间
2008-3-30
最后登录
2024-4-25

200论坛币
id group
a 1
a 1
a .
a 1
a1
b 1
b .
b1
b 1
b .
b1

现在的变量“组”类似于一个指示,请问如何把其中:同ID中,连续的变成相同组,空白后下一个非空白的变成另一个组。类似这样:
id group
a 1
a 1
a .
a 2
a 2
b 1
b .
b 2
b 2
b .
b 3

谢谢!



最佳答案

pobel 查看完整内容

data have; input id $ group; cards; a 1 a 1 a . a 1 a 1 b 1 b . b 1 b 1 b . b 1 c . c . c 1 c . c . c 1 c 1 ; data wanted; set have; by id; retain missflag temp; if first.id then temp=^missing(group); if missing(group) then missflag=1; else do; if missflag=1 then do; temp+1; missflag=0; end; new_grou ...
关键词:Group 如何
沙发
pobel 在职认证  发表于 2016-6-28 23:03:53 |只看作者 |坛友微信交流群
data have;
   input id $        group;
   cards;
a        1
a        1
a        .
a        1
a        1
b        1
b        .
b        1
b        1
b        .
b        1
c   .
c   .
c   1
c   .
c   .
c   1
c   1
;

data wanted;
   set have;
   by id;
   retain missflag temp;

   if first.id then temp=^missing(group);
   if missing(group) then missflag=1;
   else do;
      if missflag=1 then do;
         temp+1;
                 missflag=0;
                end;
          new_group=temp;
   end;
   drop missflag temp;
run;

使用道具

藤椅
l1i2n3i4n5g 在职认证  发表于 2016-6-29 15:13:50 |只看作者 |坛友微信交流群
data test2;
        set test1;
        id2=lag(id);
        group2=lag(group);
        retain new_group;
        if id^=id2 then do;
                if group=. then new_group=0;
                else new_group=1;
                end;
        else if group=1 and group2=. then new_group=new_group+1;
run;

data test3;
        set test2;
        if group=. then new_group=.;
run;

使用道具

板凳
wang1839 在职认证  发表于 2016-7-1 10:05:37 |只看作者 |坛友微信交流群
data a;
input id $ group;
cards;
a 1
a 1
a .
a 1
a 1  
b 1
b .
b 1  
b 1
b .
b 1  
;
run;


data b;
        set a;
        by id;
        if first.id then grp=1;else if group=. then grp+1;
        if  group^=. then group=grp;else group=.;
        drop grp;
run;

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 22:15