为什么我的函数只返回R中长度为930-50的向量?

时间:2019-10-24 10:42:49

标签: r function vector

我有一个旨在模拟Chuck-a-luck游戏的功能。作为根据经验显示投注期望值的一种方式,我想要一个包含1000个投注结果的向量。我提出了以下建议:

chuck.a.luck.wager.game.limit.record <- function(bankroll) {
games = 0 
changes = vector()

repeat{
   games <- games + 1
   results <- 0
   bankroll <- bankroll - 10
   pred = sample(1:6, 1)
   rolls = n.di.roll(3,6)

   if (rolls[1] == pred) {results <- results +1}
   if (rolls[2] == pred) {results <- results +2}
   if (rolls[3] == pred) {results <- results +3}

   minus_10 = -10
   plus_10 = 10
   plus_20 = 20
   plus_100 = 100



   if (results == 1) {bankroll <- bankroll + 20;
   changes <- append(changes, plus_10)}
   else if (results == 2) {bankroll <- bankroll +30;
   changes <- append(changes, plus_20)}
   else if (results == 3) {bankroll <- bankroll + 110;
   changes <- append(changes, plus_100)}
   else if (results == 0) {changes <- append(changes, minus_10)}



   if (games == 1000)
   {
        break
     }



 }
 return(changes)}

我对意大利面条代码表示歉意(我通常使用Python)。但是,当我创建该函数的实例时,它会返回一个可变长度的矢量,例如930、940、950,而不是所需的1000。

有人对发生这种情况有任何想法吗?

1 个答案:

答案 0 :(得分:0)

如果多个<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script> <div id="root"></div>等于rolls怎么办?然后pred可以大于3,因此没有任何内容附加到result