複数の列変数と行変数を含む大規模なデータ セットをブートストラップしたいと考えています。以下は、私のデータセットを簡単に再作成したものです。
charDataDiff <- data.frame(c('A','B','C'), matrix(1:72, nrow=9))
colnames(charDataDiff) <- c("patchId","s380","s390","s400","s410","s420","s430","s440","s450")
patchId
を基準としてデータを分離します。これにより、変数ごとに 1 つずつ、合計 3 つのリストが作成されます。
idColor <- c("A", "B", "C")
(patchSpectrum <- lapply(idColor, function(idColor) charDataDiff[charDataDiff$patchId==idColor,]))
sampleBoot
をサンプリングする関数を作成しましたpatchSpectrum
sampleBoot <- function(nbootstrap=2, patch=3){
return(lapply(1:nbootstrap, function(i)
{patchSpectrum[[patch]][sample(1:nrow(patchSpectrum[[patch]]),replace=TRUE),]}))}
例:
sampleBoot(5,3)
これが私が立ち往生している場所です:
- 各リストと各列変数をサンプリングする必要があり
patchId
ます (上記の「sampleBoot」で簡単に実行できます)。 - 各
patchId
サンプリング リスト反復の中央値を取得し、 - パラメトリック パラメーターを計算するために中央値の新しい母集団を作成します。手動で行うことはできますが、それはばかげています。