根据概率随机生成子集数据

Randomly generate a subset data based on probabilities

这是关于重采样的问题。我想根据物种概率从 n 个个体的随机样本中生成物种列表。

例如:有3个物种c("sp.1", "sp.2", "sp.3"),它们的丰度为c(1,2,3)。如果我随机挑选 2 个个体,我想知道物种列表。重复多次。

非常感谢!

只需使用 prob

将概率添加到样本中
sample(c("sp.1", "sp.2", "sp.3"), 2, prob=c(1,2,3))

再重复一遍,您可以将副本包装起来,例如100 次:

replicate(100, sample(c("sp.1", "sp.2", "sp.3"), 2, prob=c(1,2,3)))