作者treeboy (謝謝^^)
看板Statistics
標題[問題] 如何用S-plus亂數生成
時間Thu Jan 8 13:56:25 2009
我的意思是想用s-plus亂數生成一筆資料
例如
x=sample(467,7,T)
這樣的話生出的x有7筆
每一筆都在467以內
T是可以重複
可是我想要x加起來等於467
我該怎麼寫呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.128.194.210
1F:→ clickhere:生成6筆, 第7筆為467-前6筆的和. 01/08 14:02
2F:→ treeboy:對轟~~我來試試 01/08 14:48
3F:→ treeboy:但也不太對耶~因為可能生成的6筆總和就已經超過467了 01/08 14:50
4F:推 KnightX:用 while 跑迴圈?? 01/08 21:24
5F:推 lin15:k<-467;for(i in 1:7){a<-sample(k,1,T); print(a);k<-k-a} 01/08 21:35
6F:→ lin15:這樣不知道行不行? 01/08 21:35
7F:推 KnightX:假如第一次 a 就抽到 467 的話, 五樓你的程式就不能用了 01/08 22:25
8F:推 tew:多抽幾次 只保留完全符合條件的 01/08 22:45
9F:推 tew:然後再從符合條件的 隨機抽出1組 01/08 22:45
10F:推 tew:不然 我不懂前6筆超過467有何不可的 01/08 22:47
11F:推 tew:-100 也是小於467的值不是嗎 01/08 22:47
12F:推 lin15:第一個467 後面就都是0了不是嗎@@why not? 另外t大說的也對 01/08 23:18
13F:→ lin15:-100也是小於467 01/08 23:18
14F:推 KnightX:因為他 sample 程式是抽 1 ~ 147 不包含 0 這個數字~! 01/08 23:37
15F:→ lin15:不過跑sample(0,1,T) 出來會是0 所以這樣是ok拉~我比較怕這 01/08 23:43
16F:→ lin15:樣抽會有想法上的錯誤 01/08 23:44
17F:→ lin15:還是說值至少要大於1?那就真的錯了@@ 01/08 23:46
18F:→ lin15:k<-460;for(i in 1:7){a<-sample(k,1,T);print(a+1);k<-k-a} 01/08 23:48
19F:→ lin15:不過也是改一下就好了@@ 01/08 23:48