我有一个3d array
,每个维度包含 7 个元素(总体7*7*7= 343
元素(。每个元素都包含一个介于0
和1
之间的数字,即该单元格的权重:
pop = sample(1 : 100, 7 ** 3, replace = TRUE)
prob = array(pop / sum(pop), c(7,7,7))
现在,我需要根据每个元素的权重随机选择此数组的一个单元格。
但是,我不知道如何随机选择一个单元格。 我希望正确的响应在1
到7
之间返回 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()
将该数字转换为索引向量。