国勢調査データからいくつかのサンプリング シミュレーションを実行していますが、2 段階でサンプリングしたいと考えています。
- まず、各村の 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)
}