楼主: chi4zb
12945 1

分享:Tabulate按条件求百分比的用法 [推广有奖]

  • 0关注
  • 0粉丝

大专生

60%

还不是VIP/贵宾

-

威望
0
论坛币
381 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
587 点
帖子
61
精华
0
在线时间
48 小时
注册时间
2012-3-15
最后登录
2020-1-28

楼主
chi4zb 发表于 2014-12-26 17:09:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
看帮助文档,Tabulate提供了按行、列、全部汇总百分比的写法。如果想要按子行列、父行列求百分比,请问在tabulate中怎样写?(详见如下示例)

现在尝试搞定了,加入 *pctsum<Name > 或*pctsum<id   > 就可以了

数据如下
  1. data Insert;
  2.         input Name $ id   year   money @;

  3. datalines;
  4. A 1 2010 90
  5. A 2 2010 80
  6. A 3 2010 70
  7. B 1 2010 89
  8. B 2 2010 98
  9. B 3 2010 87
  10. C 1 2010 87
  11. C 2 2010 87
  12. C 3 2010 87

  13. A 1 2011 90
  14. A 2 2011 80
  15. A 3 2011 70
  16. B 1 2011 89
  17. B 2 2011 98
  18. B 3 2011 87
  19. C 1 2011 87
  20. C 2 2011 87
  21. C 3 2011 87
  22. ;
  23. run;


  24. proc tabulate data=Insert;
  25. class  Name  id   year;
  26. var money;
  27. table Name*id,year*money;
  28. run;
复制代码
*例子数据是随便编写的,各年都不相同。

1-按子列汇总百分比:
说明:以id求和算百分比,此时 id=1的  34%=90/(90+89+87)
1.JPG


2-按父列汇总百分比:
说明:以Name求和算百分比,此时 id=1的 38%=90/(90+80+70)

2.JPG


请问以上两种目标怎样在Tabulate中实现??谢谢


二维码

扫码加我 拉你入群

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

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

关键词:Tabulate Late tab ATE Abu 百分比 money 2011

1.JPG (49.51 KB)

1.JPG

沙发
tanbu 在职认证  发表于 2014-12-27 00:12:37
1-按子列汇总百分比:
proc tabulate data=Insert;
class  Name  id   year;
var money;
table Name*id,year*money*PCTSUM<name id>*f=8.;
run;

2-按父列汇总百分比:
proc tabulate data=Insert;
class  Name  id   year;
var money;
table Name*id,year*money*PCTSUM<id>*f=8.;
run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 06:51