我开始探索boot()
软件包中boot
函数的局限性。我刚刚想出了如何从一个调用中提取多个统计信息,但是我不知道如何为它们建立索引。
bs <- function(formula, data, indices) {
d <- data[indices,] # allows boot to select sample
fit <- lm(formula, data=d)
return(c(coef(fit), summary(fit)$r.squared)) # four stats extracted
}
现在具有1000个重复的引导程序。
(results <- boot(data = mtcars, statistic = bs, R = 1000, formula = mpg ~ wt + disp))
现在,如果我们绘制并尝试获得此对象的95%CI,我们将仅获取统计信息中的第一个,在这种情况下,该模型的截距为。
plot(results)
boot.ci(results, type="bca")
# BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
# Based on 1000 bootstrap replicates
#
# CALL :
# boot.ci(boot.out = results, type = "bca")
#
# Intervals :
# Level BCa
# 95% (30.27, 39.53 )
# Calculations and Intervals on Original Scale
如何索引其他四个参数(一个一和/或一起)?
答案 0 :(得分:2)
首先注意:
> head(results$t)
[,1] [,2] [,3] [,4]
[1,] 35.94765 -4.358146 -0.010605142 0.7471584
[2,] 33.54691 -3.319141 -0.011821276 0.8463980
[3,] 34.01732 -3.627647 -0.009797742 0.6727989
[4,] 32.26678 -1.717800 -0.030443778 0.7466273
[5,] 35.78895 -3.944054 -0.016471864 0.8277447
[6,] 33.99407 -3.560855 -0.014129072 0.8412922
因此,您可以仅使用result$t[,i]
来访问第ith个元素。看起来第一列是截距,第二列是权重系数,第三列是位移系数,最后一列是R平方。
您还可以使用boot.ci(results, type="bca", index=i)
访问第i列,情节plot(results, index=i)
也是如此。