Присвоение определенного количества значений на основе распределения вероятностей (в R)

Заранее спасибо за помощь!

Я пытаюсь сгенерировать вектор с определенным количеством значений, которые присваиваются в соответствии с распределением вероятностей. Например, мне нужен вектор длиной 31, содержащий 26 нулей и 5 единиц. (Общая сумма вектора всегда должна быть равна пяти). Однако расположение единиц важно. И чтобы определить, какие значения должны быть равны единице, а какие - нулю, у меня есть вектор вероятностей (длина 31), который выглядит следующим образом:

probs<-c(0.01,0.02,0.01,0.02,0.01,0.01,0.01,0.04,0.01,0.01,0.12,0.01,0.02,0.01,
0.14,0.06,0.01,0.01,0.01,0.01,0.01,0.14,0.01,0.07,0.01,0.01,0.04,0.08,0.01,0.02,0.01)

Я могу выбрать значения в соответствии с этим распределением и получить вектор длины 31 с помощью rbinom , но я не могу выбрать ровно пять значений.

Inv=rbinom(length(probs),1,probs)
Inv
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0

Есть идеи?

Еще раз спасибо!

7
задан Laura 4 August 2011 в 04:13
поделиться