作者liton (欧吉桑留学生)
看板Statistics
标题Re: [问题] SAS排列组合
时间Mon Nov 7 15:41:10 2011
测试几个方法
以surveyselect而言,会漏一些
例如 C(6,3),应该会有20组排列组合
i=1 to 6
proc surveyselect noprint data=a out=b n=3 rep=20 method=srs;
run;
我其实把我的问题简化很多
我真正要求出的排列组合是 C(M1,N1)X C(M2,N2)X C(M3,N3)X....
因此比较没办法以大量抽样然後排除重复的方法产出
※ 引述《tew (咖啡王子)》之铭言:
: ※ 引述《liton (欧吉桑留学生)》之铭言:
: 我会这麽做
: data a;
: do i=1 to 100;
: output;
: end;
: run;
: proc surveyselect noprint data=a out=b n=50 rep=1000000 method=srs;
: run;
: proc transpose data=b out=b(drop=replicate _name_);by replicate;
: run;
: proc sort data=b nodup;by col1-col3;
: run;
: 基本上100取50 做出来大概花一分半
: 记忆体 3.68G
: CPU I5 M430
: 既然不确定有几组 就多抽样几次 再将重复值删掉 应该就OK了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.71.218.254
1F:推 west1996:说真的,如果总组合数没有大到SAS吃不下的话,我觉得用 11/07 16:56
2F:→ west1996:data step+do loop把每一个C(M,N)的那个M生出来,然後跟 11/07 16:57
3F:→ west1996:自己用sql的cartesian product连乘N次去掉不合的,然後再 11/07 17:00
4F:→ west1996:跟别的C(M',N')去做cartesian product,这个方法搞不好 11/07 17:01
5F:→ west1996:比较简单XD 11/07 17:01
6F:→ liton:唉..那会有包不完的回圈....这是最後一招 11/07 17:06
7F:推 tew:规划求解看看 col1-colM 值都设0与1 加总为N的所有解 11/07 17:35
8F:→ ASD332:好奇一问最後要的结果是? 不是有把所有组合的pdf找到了? 11/07 19:07