Re: [問題] SAS排列組合

看板Statistics作者 (咖啡王子)時間12年前 (2011/11/06 23:06), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串2/4 (看更多)
※ 引述《liton (歐吉桑留學生)》之銘言: : 假設我給定一個數字(例如說5) : 我想從中取出1~5的數列中 取出3個數字的排列組合 : 也就是C5取3 : 例如說{1,3,5}、{2,4,5}..然後塞到巨集中 : &Let Var_1=1; : &Let Var_2=3; : &Let Var_3=5; : 該怎麼寫比較快呢? 我會這麼做 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: 42.72.5.67

11/07 00:39, , 1F
哈哈...我今天也是想到用亂數抽樣的方法XDDD
11/07 00:39, 1F

11/07 00:39, , 2F
用更原始的方法 給每個數字一組亂數用rank排序取前三
11/07 00:39, 2F

11/07 00:40, , 3F
理論上是會出現所有的組合才對
11/07 00:40, 3F

11/07 01:02, , 4F
我是要取出所有的排列組合.. 不是要抽樣
11/07 01:02, 4F

11/07 08:56, , 5F
以這種方法 會取出所有的組合 只要rep夠大就可以
11/07 08:56, 5F

11/07 10:33, , 6F
這種方法實在不太可取...天曉得rep多大才夠大?
11/07 10:33, 6F

11/07 11:50, , 7F
好奇問一下,如果取樣數等於全布的排列組合 等於全抽?
11/07 11:50, 7F

11/07 12:19, , 8F
基本上 我是弄筆取樣組合多個100倍的數量再抽
11/07 12:19, 8F

11/07 13:35, , 9F
應該說 取樣後刪除重複的資料等於全分部的組合數
11/07 13:35, 9F

11/07 13:35, , 10F
就是全部都抽到
11/07 13:35, 10F
文章代碼(AID): #1EjgACOb (Statistics)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 4 篇):
文章代碼(AID): #1EjgACOb (Statistics)