R: rgeom (n, p), когда n и p не фиксированы - PullRequest
0 голосов
/ 26 мая 2020

Ситуация: Предположим, что в сумке находится 1 синий шар и 1 красный шар. На каждом ходу случайным образом выбирается шар, который затем возвращается обратно вместе с другим (новым) шаром того же цвета (так, после n ходов в сумке всегда будет n + 2 шара).

вероятность выпадения первого красного на n-м ходу составляет enter image description here

Я хочу написать al oop, который имитирует количество поворотов, сделанных до тех пор, пока первый красный шар не будет вытянут из bag с использованием кода rgeom (n, p). Но поскольку n неизвестно, а p меняется каждый ход, я не понимаю, как это изменить. Я пробовал следующий код, но он ничего не печатает:

k=0
success = 0
while(success <= 1){
   k = k + 1
   if (rgeom(n, 1/(n+1) == 1) 
      success = success + 1
}
k

Как я могу написать l oop?

1 Ответ

1 голос
/ 26 мая 2020

Если я выполню пару небольших изменений, я получу некоторое значение для k:

set.seed(123)
k=0
success = 0
while(success < 1){ # rather than <=1, which includes 0
k = k + 1
if (rgeom(n, 1/(n+1)) == 1) # missed closing parenthesis 
success = success + 1
}
k

Я получил k=8

, но есть много предупреждений !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...