如何在 R 中基于 3d 加权数组生成随机数?

  • 本文关键字:数组 加权 随机数 3d r random
  • 更新时间 :
  • 英文 :


我有一个3d array,每个维度包含 7 个元素(总体7*7*7= 343元素(。每个元素都包含一个介于01之间的数字,即该单元格的权重

pop = sample(1 : 100, 7 ** 3, replace = TRUE)
prob = array(pop / sum(pop), c(7,7,7))

现在,我需要根据每个元素的权重随机选择此数组的一个单元格

但是,我不知道如何随机选择一个单元格。 我希望正确的响应在17之间返回 3 个不同的数字。

例如,如果它返回2,4,3那么我发现它是具有协调2,4,3的单元格

以下作品:

arrayInd(sample(1:343,1,prob = prob),c(7,7,7))

sample(1:343,1,prob = prob)选择具有必要概率的 1:343 之间的数字,之后arrayInd()将该数字转换为索引向量。

最新更新