【发布时间】:2014-09-11 09:45:42
【问题描述】:
我遇到了按区域分配个人的问题。为了简化这一点,假设我们有 5 个集合,每个集合都有一个给定的(并且减少的)人口。
S1=1000
S2=100
S3=50
S4=25
S5=5
我想将这些人口分配到区域(例如,10 个区域 Z1-Z10)。每个区域都有一个给定的概率来容纳集合中的个体。
以矩阵形式:
N<-matrix(prob,nrow=5,ncol=10)
每组的 N 个概率类似于:
0.15 0.05 0.1 0.05 0.05 0.2 0.01 0.09 0.15 0.15
...........
0.15 0.05 0.1 0.05 0.05 0.2 0.01 0.09 0.15 0.15
我想知道每个区域的每个集合的最终人口。第一排没有问题,因为人口很多。只需将 1000 乘以概率:
S1分配OK:
150 50 100 50 50 200 10 90 150 150 (individuals)
但是,当您设置 S3 时,请弹出。 50,四舍五入并不容易,因为某些区域会少于 1 个:
S3 分配:
7.5 2.5 5 2.5 2.5 10 0.5 4.5 7.5 7.5 (individuals)
您甚至可能会获得只有 1 个人被分配到 10 个区域之一的潜在集合。
如何使用 R (sample(data,size,prob)) 或类似函数中的 sample 函数来生成计算每个区域的整数个数的分配矩阵?
NB:显然在真正的问题中没有。区域的数量要高得多,并且每个区域的概率各不相同。
提前致谢,开发者
【问题讨论】:
标签: r distribution sample