我编写了几个函数来从 lm 对象中检索统计数据(系数和 p 值),以供引导。系数一起作用;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 bootstrap 对象,但这并没有解决它。我怎样才能最好地检索自举 p 值?感谢您的任何想法。(在 Mac OSX 上运行 R 3.0.1。)