Вы очень расплывчаты в параметрах своего моделирования, но как это?
Лямбда для случайного числа Пуассона.
lambda <- 5
Это пороговое значение при выходе из функции.
th <- 0.999
Создайте вектор длиной 1000.
bin <- numeric(1000)
Запустите проклятую вещь.Это в основном бросает «кости» (сгенерированные значения между 0 и 1).Если значения ниже th
, возвращается случайное число Пуассона.Если значение больше th
(но не равно), функция останавливается.
for (i in 1:length(bin)) {
if (runif(1) < th) {
bin[i] <- rpois(1, lambda = lambda)
} else {
stop("didn't meet criterion, exiting")
}
}
Удаляет нули, если таковые имеются.
bin <- bin[bin != 0]
Вы можете использовать cumsum
для накопления суммызначения.
cumsum(bin)