我正尝试对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)))
第十个值始终为1,而第一个值有1/10的可能性就是1-这是我想要实现的。
有矢量化方法吗?
答案 0 :(得分:3)
您要从二项分布中进行采样:
rbinom(10, 1, prob = seq(0.1, 1, 0.1))