我正在运行一些人口普查数据的抽样模拟,我想分两个阶段抽样。R分段采样
- 首先,我想在每个村庄内采样25户。
- 第二我想从每个家庭抽样1人。
我的数据是在长格式,具有一个村庄标识符,家庭标识符和二进制疾病状态(0 = healthy
,1 = diseased
)。下面的代码运行一个蒙特卡罗模拟,对每个村庄25个人进行3000次采样,并记录采样的疟疾阳性个体的数量。
但是,我想从每个村庄的25个抽样家庭中采样1个人。我无法弄清楚。
d = read.table("data.txt", sep=",", header=TRUE)
villages = split(d$malaria, d$villageid)
positives = vector("list", 3000)
for(i in 1:3000) {
sampled = lapply(villages, sample, 25)
positives[[i]] = lapply(sampled, sum)
}
很确定,但如果您提供样本数据,则会更容易向您显示。 :) – 2013-03-12 19:22:00
我刚刚更新了它 - 我应该包含一个链接到我的数据,或者这将足以离开? – David 2013-03-12 19:31:16
链接会很好。 – 2013-03-12 19:34:40