datta
次のコードを使用してデータ フレームからブートストラップ サンプルを作成する場合
boot1a <- replicate(3, do.call("rbind", lapply(sample(unique(datta$pid),2000,replace=TRUE), function(x) datta[datta$pid==x,])), simplify=FALSE)
boot1b <- data.frame(boot1a) # data frame from the list
sample1 <- boot1b[order(boot1b$pid),] # sorting based on pid and storing
ブートストラップ サンプルの変数には、 でsample1
終わる名前が付いてい.1, .2, .3, ...
ます。(pid
は人物 ID です。同じ人物のさまざまな観測に対して同様の値を取ります)。たとえば、上記のコードでは、変数xy
のdatta
名前xy
は 、xy.1
、およびxy.2
1 番目、2 番目、3 番目のブートストラップ サンプルに関連付けられます。それぞれの変数名が元のデータ フレームと同じままで、さまざまなブートストラップ サンプルに別の名前を付けることをお勧めします。上記の場合、3 つの異なるデータ フレームに格納されたブートストラップ サンプルが必要です。たとえば、boot1, boot2, boot3
ここで、各データ フレームの変数名は、元のデータ フレームの変数名と同じです。一度に 1 つのレプリケーションで手動で始めましたが、多くのブートストラップ サンプルを作成するには多くの時間がかかります。誰かがこれをより良い方法で行う方法について何か提案がありますか?
編集
データフレーム内の多くの変数のうちの 4 つの最初のいくつかの観察結果datt
は次のとおりです。
pid xy zy wy
1 10 2 -5
1 12 3 -4.5
1 14 4 -4
1 16 5 -3.5
1 18 6 -3
1 20 7 -2.5
2 22 8 -2
2 24 9 -1.5
2 26 10 -1
2 28 11 -0.5
2 30 12 0
2 32 13 0.5