楼主: dxystata
1243 6

[问答] 如何统计每个个体x取值为1的个数 [推广有奖]

版主

大师

34%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182304 个
通用积分
15205.6031
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
291087 点
帖子
5375
精华
1
在线时间
13478 小时
注册时间
2006-6-21
最后登录
2024-4-25

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

10论坛币
  1. data aaa;
  2. input id x;
  3. cards;
  4. 1 1
  5. 1 1
  6. 1 1
  7. 2 1
  8. 3 1
  9. 3 1
  10. 4 1
  11. 4 1
  12. 4 1
  13. 4 1
  14. ;
  15. run;
复制代码
如何统计每个个体x取值为1的个数?
希望得到的数据集为
id num
1   3
2   1
3   2
4   4

谢谢!

关键词:数据集
沙发
l1i2n3i4n5g 在职认证  发表于 2019-4-10 09:37:01 |只看作者 |坛友微信交流群
data aaa;
input id x;
cards;
1 1
1 1
1 1
2 1
3 1
3 1
4 1
4 1
4 1
4 1
;
run;

proc sql;
   create table bbb as
   select id, count(x) as num from aaa
   group by id;
quit;

proc print;run;
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 精彩帖子
dxystata + 100 + 1 好的意见建议

总评分: 经验 + 100  论坛币 + 20  学术水平 + 2  热心指数 + 3  信用等级 + 2   查看全部评分

使用道具

藤椅
dxystata 发表于 2019-4-10 15:13:53 |只看作者 |坛友微信交流群
l1i2n3i4n5g 发表于 2019-4-10 09:37
data aaa;
input id x;
cards;
data步可以实现吗?

使用道具

板凳
l1i2n3i4n5g 在职认证  发表于 2019-4-11 11:21:45 |只看作者 |坛友微信交流群
dxystata 发表于 2019-4-10 15:13
data步可以实现吗?
data aaa;
input id x;
cards;
1 1
1 1
1 1
2 1
3 1
3 1
4 1
4 1
4 1
4 1
;
run;

data bbb;
   set aaa;
   by id;
   if first.id then num=0;
   if x=1 then num+1;
   if last.id then output;
   drop x;
run;

proc print;run;

使用道具

报纸
xiaopingN 发表于 2019-4-13 01:15:43 |只看作者 |坛友微信交流群
proc freq noprint data=aaa;
table id*x/out=bbb;
run;
proc print noobs data=bbb(rename=(count=num));
var id num;
run;
已有 1 人评分经验 热心指数 收起 理由
dxystata + 100 + 1 好的意见建议

总评分: 经验 + 100  热心指数 + 1   查看全部评分

使用道具

地板
dxystata 发表于 2019-4-14 18:22:32 |只看作者 |坛友微信交流群
希望得到的数据为
id x num
1 1 3
1 1 .
1 1 .
2 1 1
3 1 2
3 1 .
4 1 4
4 1 .
4 1 .
4 1 .
如何实现呢?谢谢!

使用道具

7
xiaopingN 发表于 2019-4-16 02:13:25 |只看作者 |坛友微信交流群
dxystata 发表于 2019-4-14 18:22
希望得到的数据为
id x num
1 1 3
proc freq noprint data=aaa;
table id*x/out=bbb (drop=percent rename=(count=num));
attrib _all_ label='';
run;
data ccc;
set bbb aaa;
run;
proc sort data=ccc;
by id;
run;
data ddd;
set ccc;
by id;
if last.id then delete;
run;

使用道具

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

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

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

GMT+8, 2024-4-26 12:00