使用R的bootstrap问题

时间:2015-04-08 20:06:41

标签: r machine-learning

启动完成后,是否有任何方法可以打印所有选定的数据?

一旦我使用以下代码

library(boot)
set.seed(1234)

rsq = function(data,indices) {
  d = data[indices,]
  fit = lm(formula=mpg~wt+disp,data=d)
  return(summary(fit)$r.square)
}
results = boot(data = mtcars, statistic = rsq, R=1000)
print(results)
plot(results)
boot.ci(results,conf=0.95,type=c('perc','bca'))


BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = results, conf = 0.95, type = c("perc", "bca"))

Intervals : 
Level     Percentile            BCa          
95%   ( 0.6838,  0.8833 )   ( 0.6344,  0.8549 )  

获得置信区间。我想打印通过bootstrap方法选择的所有选择障碍物。

感谢。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

ind <- list()
rsq <- function(data,indices) {
  d <- data[indices,]
  ind[[length(ind)+1]] <<- indices
  fit <- lm(formula=mpg~wt+disp,data=d)
  return(summary(fit)$r.square)
}

然后,您的所有1000套索引都将列在ind列表中。

然后可以使用unique来查看哪些独特的观察结果被采样:

lapply(ind, unique)[1:2]

[[1]]
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

[[2]]
 [1] 29  4  3 15 16  7 32  5 31 17 28 20 26 19 10 18  1  6 24  8