ブートストラップされる lm オブジェクトから統計 (係数と p 値) を取得するための関数をいくつか作成しました。係数 1 が機能します。p値のものはエラーで失敗しています:
Error in boot(data = data, statistic = bs_p, R = 1000) :
number of items to replace is not a multiple of replacement length
私は今、エラーが要因変数の包含に関連していると信じています。簡単に再現可能なデータを使用して問題を再現しようとします。
L3 <- LETTERS[1:3]
data <- data.frame(cbind(x = 20:69, y = 1:50), fac = sample(L3, 50, replace = TRUE))
bs_p <- function (data, i) {
d <- data[i,]
fit <- lm (d$y~d$x*d$fac, data=d)
return(summary(fit)$coefficients[,4])
}
bt <- boot(data=data, statistic=bs_p, R=1000)
これらのそれぞれから返されるクラスの「数値」値は、私の初心者の目にはまったく同じ形式のように見えます...しかし、そうではないと思いますか? 次の関数を実行する前に、返された bt ブートストラップ オブジェクトもクリアしましたが、解決しませんでした。ブートストラップされた p 値を取得するにはどうすればよいですか? ご意見ありがとうございます。(Mac OSX で R 3.0.1 を実行しています。)