R 从数组中选取一个随机数并返回它';s指数

R 从数组中选取一个随机数并返回它';s指数,r,probability,R,Probability,我有一系列的可能性 A = c(0, 0, 1/3, 0, 1/3, 1/3) 我使用的随机数公式是: sample(A, 1, replace=TRUE) 这给了我一个可能性。我要找的是相应概率的指数。既然概率可以重复,我怎么才能得到所选的具体索引号呢?此外,它不应该能够选择0概率 谢谢。制作一个函数,基本上可以这样做: y <- 0 while(y == 0) { x <- sample(1:length(A), 1) y <- A[x] } print(

我有一系列的可能性

A = c(0, 0, 1/3, 0, 1/3, 1/3)
我使用的随机数公式是:

sample(A, 1, replace=TRUE)
这给了我一个可能性。我要找的是相应概率的指数。既然概率可以重复,我怎么才能得到所选的具体索引号呢?此外,它不应该能够选择0概率


谢谢。

制作一个函数,基本上可以这样做:

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

y您是否查看了
?示例
?它采用了一个名为prob的参数,这正是您想要的。为什么不取而代之对指标进行采样呢
a=sample(seq_沿着(a),1,prob=a,replace=TRUE)
然后你可以用它来获得你的值:
a[a]
这个问题的标题和主体似乎在问两个截然不同的问题。一些澄清会很有用。@Justin,这将返回一个概率为0的索引,这在我的情况下不应该发生。@Dason,谢谢你,我现在就来看看。