作者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