2017-10-25 6 views
0

ブートライブラリ内)(ブートを使用してミスを犯しありません。また、同じテストを実行するためにブートストラップメソッドを使用します。私は結果を比較したいが、それらはまったく同じ結果であることが分かった。だから私はそれが間違っていた何かがあるのだろうかと思っています。R-は、私は、テーブル内の異なる列間の相関テストを実行しようとしています

DFが20000行×7列data.tableであり、最初の列は

は、以下の私のブートストラップコードされるキーです。私はそれを確認するために助けてください。 ブートストラップ後の結果がデータセット全体を実行するのと同じになる可能性はありますか?ありがとうございました!

n = nrow(df) 
cor.small <- function(d,i= c(1:n)){ 
d2 <- d[i,] 
cormat <- cor(d2[,-1,with=FALSE]) 
upper <- get_upper_tri(cormat) 
return(upper) 
} 

result <- boot(data = df,statistic = cor.small, R= 999) 
+2

私たちがブートストラップを使う理由を知っている。また、あなたの問題は、あなたが 'boot'の出力が何を意味しているのか理解できないと思っています。とにかく、(get_upper_triがどのように定義されるのかを推測して推測した後の)クイックチェックは、コードが期待どおりに機能することを示します。 – Roland

+0

ブーストラップの推定値は 'colMeans(result $ t)'となります。ヘルプページを読んで、セクション[値]: 'T0 data.'と' CORに適用される統計量の観測値(DF [、-1]) 'あなたが取得しているマトリックスは、(' NA'値なし)です。また、 '= c(1:n)'を取り除くには、これは 'indices'引数であり、呼び出しごとに異なるはずです。 –

答えて

0

あなたは、この(私は何かで動作するようにアイリスデータセットを使用し、場所でビットのコードを変更している)のようなboot関数を呼び出す必要があります:「私はあなたがドン疑い

cor.small <- function(d, i){ 
     cormat <- cor(d[i ,-1]) 
     upper <- cormat[lower.tri(cormat)] 
     return(upper) 
} 

df <- iris[ ,-5] 
nsamp = ceil(nrow(df)/2) # or use a different value 
nrun = 10 
set.seed(1) 
cor.small(df,sample(1:nsamp,nsamp,replace=TRUE)) 


boot(data = df,statistic = cor.small, R= nrun) 
関連する問題