On 21/03/2020 12:35 p.m., varin sacha via R-help wrote:
# # # # # # # # # # # # # # # # # # # # # # # #
install.packages( "robustbase",dependencies=TRUE )
install.packages( "boot",dependencies=TRUE )
library(boot)
library(robustbase)
n<-500
b<-runif(n, 0, 5)
z <- rnorm(n, 2, 3)
a <- runif(n, 0, 5)
df<-data.frame(b,z,a)
y_model<- 0.1*b - 0.5 * z - a + 10
y_obs <- y_model +c( rnorm(n*0.9, 0, 0.1), rnorm(n*0.1, 0, 0.5) )
# function to obtain MSE
MSE <- function(data, indices, formula) {
d <- data[indices, ] # allows boot to select sample
fit <- lmrob(formula, data = d)
ypred <- predict(fit)
mean((d[["y_obs "]] - ypred)^2)
}
# Make the results reproducible
set.seed(1234)
# bootstrapping with 500 replications
results <- boot(data = df, statistic = MSE,
R = 500, formula = y_obs ~ b+z+a)
boot.ci(results, type="bca")
# # # # # # # # # # # # # # # # # # # # # # # # #
Try using debug(MSE), and you'll see that d[["yobs "]] doesn't exist, so
your MSE function always returns NaN.
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.