我是一个乞丐在R和尝试模拟降落伞和梯子游戏。现在我想找到或估计平均位置或移动后,单人到达第10回合,也模拟多次,以获得方差和绘制直方图。参考以下代码。请指导我。
max_turns <- 10 # number of turns to take
position <- 0 # start on the board
max_position <- 100 # number of box on board
n_sides_die <- 6 # number of sides on one die roll
for (turn in 1:max_turns){ # use a for loop to simulate a number of turns
die_roll <- sample.int(n_sides_die, 1) # simulate the values from rolls of an unbiased six-sided die
position <- position + die_roll # compute new board position
if ( position >= max_position ){ # break out of loop if we roll die that is greater than or equal to 60
break
}
}
**EXPECTING OUTPUT TO BE SOMETHING LIKE THIS**
turn_ ladder
or
num start roll land chute end
1 0 1 1 chute 38
2 38 4 42 NA 42
3 42 1 43 NA 43
4 43 2 45 NA 45
5 45 5 50 NA 50
6 50 3 53 NA 53
7 53 6 59 NA 59
8 59 2 61 NA 61
9 61 3 64 ladder60
10 60 3 63 NA 63
1条答案
按热度按时间fd3cxomn1#
最好的方法是通过一个转移矩阵(在下面的代码中是
P
),如果你建立了一个概率矩阵,将当前的方块连接到下一个方块,那么你只需要将这个矩阵提升到10次幂,就可以找到第10圈后的分布。现在假设您要模拟一条10个转弯的路径。
利用第10圈的位置具有由
P[x,]
给出的概率的多项式分布的事实,其中x
是第9圈的位置(等等)。最后,绘制十圈后到达位置的直方图: