我试图对0或1的10个值进行采样,每次都有定义(但不同)的概率。
这不起作用:
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 - 这是我想要实现的。
有矢量化的方法吗?
您想从二项分布中进行采样:
rbinom(10, 1, prob = seq(0.1, 1, 0.1))