我正在運行一些人口普查數據的抽樣模擬,我想分兩個階段抽樣。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