2016-10-05 7 views
0

一連のブートストラップされた複製にGBMアルゴリズムを適用する必要がある場合、分析を行う必要があります。もう一つのしわは、それぞれの複製が量子化された正規化結果を持つ必要があるということです。私は最終的に達成しようとしています何 は 2で設定したメインデータと 1.ある200のリサンプリング 3分位が含まれている3次元配列を作成し、各リサンプルの中に結果変数を正規化 4.ファイル名を指定して実行GBMすべてでサンプルサブサンプリングと量子化の正規化R

今のところ、私はリサンプリングのステップには至りません。

#generating some data  
main<-matrix(
    replicate(52,rnorm(1132)), 
    ncol=52, 
    nrow=1132, 
    dimnames = list(
    1:1132, 
    1:52) 
) 

colnames(main)[1]<-"outcome" 

#trying to create 200 resampled replicates 
resampled = array (
    rep(NA), 
    dim= c(1000, ncol(main), 200), 
    dimnames= list(
     1:1000, 
     colnames(main), 
     1:200 
    ) 
    ) 


    for (i in 1:dim(resampled)[1]) { 
    for (j in 1:dim(resampled)[2]) { 
     for (k in 1:dim(resampled)[3]) { 
     resampled[i,j,k]= main[sample(nrow(main), size=1000, replace=TRUE),] 

    } 
}} 

ループを正しく指定していないためですが、数週間の検索の後で、私は参考になるコードを見つけることができません。

私は現在、エラーメッセージが表示されます: リサンプリングでエラーが発生しました[I、J、K] =メイン[サンプル(nrow(メイン)、サイズ= 1000、= TRUEを置き換える)、:交換するアイテムの 数ではありません置換長の倍数

+2

小さなデータセットと期待される結果で最小限の再現可能な質問をすることができますか? – shayaa

+0

最小限の再現可能な例を作成すると、予想される結果と実際の結果が得られます。 – pdb

+0

私はそれです。これはすべて私にとってとても新しいものです。再現可能な例を得る方法を見つけたら、今晩後で更新する予定です。 – BobaAddict

答えて

0

resampled[i,j,k]は1つの要素を受け取る予定ですが、main[sample(nrow(main), size=1000, replace=TRUE),]は1000x52の行列を返します。

私はあなたに基づいてより小さな例を作りました。次のコードを試して、これが結果として得られるものであるかどうかを確認してください:

ncol = 3 
nrow = 10 
sample.size = 5 
sample.rep = 4 

#generating some data  
main<-matrix(
    replicate(ncol,rnorm(nrow)), 
    ncol=ncol, 
    nrow=nrow, 
    dimnames = list(
    1:nrow, 
    1:ncol) 
) 

colnames(main)[1]<-"outcome" 

#trying to create 'sample.rep' resampled replicates 
resampled = array (
    rep(as.numeric(NA)), 
    dim= c(sample.size, ncol(main), sample.rep), 
    dimnames= list(
    1:sample.size, 
    colnames(main), 
    1:sample.rep 
) 
) 

for (k in 1:dim(resampled)[3]) { 
    resampled[,,k]= main[sample(nrow(main), size=sample.size, replace=TRUE),] 
} 
print(resampled) 
+0

これは今、適切な数の添え字を持たないというメッセージを私に伝えていますが、私の配列もまた、不条理な大きなオブジェクトに変わっています。私は巨大なオブジェクトをアレイに分割する方法を見つけるためにちょっと試しました。私は、これとは別のアプローチを試してみるつもりです。アレイを作成した後にはさらに多くのステップが必要になるからです。ご協力いただきありがとうございます! – BobaAddict