楼主: zlj1986
2443 1

[问答] sas中排列组合请教 [推广有奖]

  • 0关注
  • 0粉丝

高中生

10%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
206 点
帖子
19
精华
0
在线时间
9 小时
注册时间
2012-11-28
最后登录
2015-8-11

楼主
zlj1986 发表于 2013-5-27 00:01:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大侠:
        我有一个数据如下,我想对里面的数据取值为1的情况进行组合的穷举,并且同时列出组合的数目,我怎么怎么写程序实现啊,我用的SAS软件。先谢谢大家了!!!
人流行性感冒病毒呼吸道合胞病毒人副流感病毒人腺病毒人偏肺病毒人冠状病毒人博卡病毒

0

1

0

1

1

0

1

1

0

1

1

0

1

1

0

0

0

0

0

0

0



想要得到这种类型的结果:
病例数流感合胞病毒副流感腺病毒偏肺冠状博卡病毒混合感染
病毒病毒病毒病毒
4111000002
3701100002
3010100002
1301000012
301100013
211100003
110011003
110110003
111000103
111001003



二维码

扫码加我 拉你入群

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

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

关键词:sas软件 各位大侠 感冒病毒 流感病毒 感染病 感冒病毒 呼吸道 博卡 程序 软件

沙发
yongyitian 发表于 2013-5-27 10:40:40
/* try this */

data test;         /* create a sample dataset */
   do PatientID = 1001 to 1200;
          value = int(ranuni(12345) *10);
    v1 = (uniform(12345) >=0.1);
    v2 = (uniform(12345) >=0.15);
    v3 = (uniform(12345) >=0.5);
    v4 = (uniform(12345) >=0.8);
    v5 = (uniform(12345) >=0.9);
    output;     end;
   drop i;
run;

data test_1;   
   length TypeID $7.;
   array v v1-v5;
      set test;
    TypeID = put(v1,1.)||put(v2,1.)||put(v3,1.)||put(v4,1.)||put(v5,1.);
      do i = 1 to dim(v);
       mix = sum(of v1-v5); end;
      drop i;
run;   

proc sql;     /* geting the results */
    create table comb_result (drop=TypeID) as
    select distinct typeID, count(*) as N_patient, v1, v2, v3, v4, v5, mix
    from test_1
    where mix>1
    group by TypeID
    order by Mix, v1 desc, v2 desc, v3 desc , v4 desc , v5 desc;
quit;

proc print data=comb_result; title 'comb_result'; run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 05:16