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,谢谢你,我现在就来看看。