楼主: 040108020007
1579 3

[原创博文] 一个计数的问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

讲师

12%

还不是VIP/贵宾

-

威望
0
论坛币
3437 个
通用积分
2.2500
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
7488 点
帖子
210
精华
0
在线时间
603 小时
注册时间
2007-6-25
最后登录
2025-12-29

楼主
040108020007 发表于 2011-3-16 11:28:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有一个文件两个字段data a;
input x y@@;
cards;
a 1
a 1
a 2
b 1
b 2
b 2
;
我想统计每个组合出现的次数,以及所有组合的数目(就是a1算一个组合 a2算一个,一共出现了多少组这个组合)。
由于数据量比较大,tabulate means 和freq过程都实现不了,大家都有什么好办法,请多多指点 谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Tabulate cards means Input mean 统计

沙发
hssnow 发表于 2011-3-16 12:55:07
  1. data have;
  2.         input x $ y;
  3. cards;
  4. a 1
  5. a 1
  6. a 2
  7. b 1
  8. b 2
  9. b 2
  10. ;
  11. run;
  12. proc sort data=have out=temp nodupkey;
  13.         by x y;
  14. run;

  15. data want1(keep=number);
  16.         set temp end=eof;
  17.         number+1;
  18.         if eof then output;
  19. run;

  20. proc sql noprint;
  21.         create table want2 as
  22.                 select count(*) as number from temp;
  23. quit;
复制代码
已有 1 人评分热心指数 收起 理由
040108020007 + 1 我很赞同

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

My Blog: http:/hssnow.name/
宁静致远

藤椅
baoaibaobao 发表于 2011-3-16 13:08:50
用了楼上的数据集have
  1. proc sql noprint;
  2.         create table zachary as
  3.                 select count(*) as n from (select distinct x,y from have);
  4. quit;
复制代码
已有 1 人评分热心指数 收起 理由
040108020007 + 1 好的意见建议

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

板凳
myc_sas 发表于 2011-3-16 16:53:13
同样用了have。
count_group是该组合出现的次数,count_all是各种组合的个数。

proc sql noprint;
        create table result as
        select *, count(*) as count_all from
        (select x, y, count(*) as count_group from have
        group by x, y);
quit;

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

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