全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2059 3
2012-09-13
id a  b
1  1  .
1  2  .
1  1  4
2  0  .
2  2  .
2  3  .
2  2  7
id是编号,b是对a的求和得出的值,
我怎么把b里的缺失值也填补为这个求和得到的值(这里是4和7)。
就是要求在每个编号类别里把求和的那个值赋给缺失值
求高手指点。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-13 09:18:25
data test;
input id a;
cards;
1  1
1  2
1  1
2  0
2  2
2  3
2  2
;

data wanted;
   set test;
   by id;
   retain b;
   if first.id then do until(last.id);
             set test(rename=(a=a1));
                         by id;
                         if first.id then b=0;
             b=sum(b,a1);
                        end;
        drop a1;
run;
二维码

扫码加我 拉你入群

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

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

2012-9-13 10:07:32
See the sql below.

data test;
input id a;
cards;
1  1
1  2
1  1
2  0
2  2
2  3
2  2
;

proc sql;
  select *, sum(a) as b
  from test
  group by id
  ;
  quit;
二维码

扫码加我 拉你入群

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

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

2012-9-17 10:40:59
bobguy 发表于 2012-9-13 10:07
See the sql below.

data test;
非常感谢,这个看起来更容易理解一些。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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