0

私は村から20人の個人をサンプリングする複数のシミュレーションを実行しています。2つの列を持つデータセットがあります。最初の列は観測値が属する村で、2番目の列はマラリア検査が陰性の場合は0、マラリア検査が陽性の場合は1です。各村から20人を100回繰り返してサンプリングしたいと思います。

サンプルを繰り返すことはできますが、ループから結果を取得して、それらをマトリックスまたはデータフレームに入れるのに問題があります。これが私がこれまでに持っているコードです。どんな助けでもいただければ幸いです。他のスタックは、事前にマトリックスを作成してから結果のベクトルを追加することを提案していますが、ベクトルを追加する方法については行き詰まっています。

最後に、ループの各反復の列として正のベクトルを持つ行列が必要です。

d = read.table( "/ Users / David / Documents / LQAS study / LQAS data.txt"、sep = "、"、header = TRUE)

head(d)village500マラリア

1 22 0

2 22 0

3 1 1

4 20 0

5 1 0

6 19 0

村=split(d $ malaria、d $ Village500)

for(i in 1:100){+ sampled = lapply(villages、sample、20)+positives = lapply(sampled、sum)+}

4

1 に答える 1

0

これを行うための手書きの方法を見つけましたが、それは間違いなく理想的ではなく、100 を超えるシミュレーションを行うのは少し疲れます。

villages = split(d$malaria, d$village500)

positives = vector("list", 100)

for(i in 1:100) {
    sampled = lapply(villages, sample, 20)
    positives[[i]] = lapply(sampled, sum)
    }

simulations = cbind(positives[[1]], positives[[2]], positives[[3]], positives[[4]], positives[[5]], positives[[6]], positives[[7]], positives[[8]], positives[[9]], positives[[10]], positives[[11]], positives[[12]], positives[[13]], positives[[14]], positives[[15]], positives[[16]], positives[[17]], positives[[18]], positives[[19]], positives[[20]], positives[[21]], positives[[22]], positives[[23]], positives[[24]], positives[[25]], positives[[26]], positives[[27]], positives[[28]], positives[[29]], positives[[30]], positives[[31]], positives[[32]], positives[[33]], positives[[34]], positives[[35]], positives[[36]], positives[[37]], positives[[38]], positives[[39]], positives[[40]], positives[[41]], positives[[42]], positives[[43]], positives[[44]], positives[[45]], positives[[46]], positives[[47]], positives[[48]], positives[[49]], positives[[50]], positives[[51]], positives[[52]], positives[[53]], positives[[54]], positives[[55]], positives[[56]], positives[[57]], positives[[58]], positives[[59]], positives[[60]], positives[[61]], positives[[62]], positives[[63]], positives[[64]], positives[[65]], positives[[66]], positives[[67]], positives[[68]], positives[[69]], positives[[70]], positives[[71]], positives[[72]], positives[[73]], positives[[74]], positives[[75]], positives[[76]], positives[[77]], positives[[78]], positives[[79]], positives[[80]], positives[[81]], positives[[82]], positives[[83]], positives[[84]], positives[[85]], positives[[86]], positives[[87]], positives[[88]], positives[[89]], positives[[90]], positives[[91]], positives[[92]], positives[[93]], positives[[94]], positives[[95]], positives[[96]], positives[[97]], positives[[98]], positives[[99]], positives[[100]])
于 2012-07-19T11:24:17.767 に答える