R: векторизованная выборка, где вероятность меняется каждый раз, когда вы выбираете - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь выбрать 10 значений 0 или 1, с определенными (но разными) вероятностями каждый раз.

Это не работает:

sample(0:1, size = 10, replace = T, prob = seq(0.1, 1, 0.1))

Это работает:

sapply(seq(0.1, 1, 0.1), function(x) sample(0:1, size = 1, prob = c(1-x, x)))

10-е значение всегда равно 1, в то время как первое значение имеет 1/10 шанс стать 1, чего я и хочу достичь.

Есть ли векторизованный подход?

1 Ответ

3 голосов
/ 15 марта 2019

Вы хотите произвести выборку из биномиального распределения:

rbinom(10, 1, prob = seq(0.1, 1, 0.1))
...