set.seed(123, "L'Ecuyer-CMRG")
data("infert")
fit_fun <- function(data, w) {
fit <- glm(case ~ spontaneous + induced, data = data,
family = "quasibinomial", weights = w)
coef(fit)
}
fwb_out <- fwb(infert, fit_fun, R = 300,
verbose = FALSE)
fwb_weights <- fwb.array(fwb_out)
dim(fwb_weights)
# Recover computed estimates:
est1 <- fit_fun(infert, fwb_weights[1, ])
stopifnot(all.equal(est1, fwb_out$t[1, ]))
# Compute empirical influence function:
empinf <- lm.fit(x = fwb_weights / ncol(fwb_weights),
y = fwb_out$t)$coefficients
empinf <- sweep(empinf, 2L, colMeans(empinf))
Run the code above in your browser using DataLab