全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2409 1
2013-05-27
各位大侠:
        我有一个数据如下,我想对里面的数据取值为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



二维码

扫码加我 拉你入群

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

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

全部回复
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;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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