从Array中选取一个随机数并返回其索引

时间:2012-11-14 21:29:07

标签: r probability

我有一系列概率

A = c(0, 0, 1/3, 0, 1/3, 1/3)

我使用的随机数公式是:

sample(A, 1, replace=TRUE)

它给了我一个概率。我正在寻找的是相应概率的索引号。由于概率可以重复,我如何获得所选的特定索引号?此外,它不应该选择0概率。

谢谢。

1 个答案:

答案 0 :(得分:2)

基本上做一个函数:

y <- 0 
while(y == 0) { 
  x <- sample(1:length(A), 1) 
  y <- A[x]
}
print(x)

replace = TRUE在此上下文中是多余的,因为您一次只采样一个样本。