У меня есть функция, которая предназначена для симуляции игры 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.
У кого-нибудь есть идеи относительно того, почему это происходит?