全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3077 7
2012-07-23
有一个问题搞不定了,请教高手:a   b两个变量如下:
a    b
1    1   
1

     1
1   1

我希望计数,就是如果a等于1,则从a行开始在b列里计数有多少个1(缺失值忽略),
然后在从a的第二个1开始,在b列里数有多少个1,这样以此类推,
最后把这些个数加总在一起。

不知表达清楚了吗!先谢过了!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-23 20:01:28
data test;
   input a b;
   cards;
2 3
3 1
1 8
3 1
23 2
24 1
1 0
1 1
9 9
8 1
1 9
;

data wanted;
     set test;
         retain num tot flag;
         if a =1 then do; flag=1; num=0;end;
         num+(b=1)*(flag=1);
         tot+(b=1)*(flag=1);
         drop flag;
run;
二维码

扫码加我 拉你入群

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

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

2012-7-23 20:03:34
pobel 发表于 2012-7-23 20:01
data test;
   input a b;
   cards;
好久不见...终于回归论坛了,很意外!
二维码

扫码加我 拉你入群

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

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

2012-7-23 20:05:33
data test;
   input a b;
   cards;
2 3
3 1
1 8
3 1
23 2
24 1
1 0
1 1
9 9
8 1
1 9
;
data test1;
    set test;
        cat+(a=1);
run;

proc sql;
   create table wanted as
      select distinct cat,sum((b=1)*(cat>0)) as num
            from test1
                group by cat;
quit;
二维码

扫码加我 拉你入群

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

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

2012-7-23 20:15:45
shenliang_111 发表于 2012-7-23 20:03
好久不见...终于回归论坛了,很意外!
好久不见,哈哈
二维码

扫码加我 拉你入群

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

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

2012-7-23 22:07:30
pobel 发表于 2012-7-23 20:01
data test;
   input a b;
   cards;
非常感谢,这个语句看起来很妙
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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