Take the output from multiple different calls to vimp_regression
and
merge into a single vim
object; mostly used for plotting results.
merge_vim(...)
an arbitrary number of vim
objects, separated by commas.
an object of class vim
containing all of the output
from the individual vim
objects. This results in a list containing:
s - a list of the column(s) to calculate variable importance for
SL.library - a list of the libraries of learners passed to SuperLearner
full_fit - a list of the fitted values of the chosen method fit to the full data
red_fit - a list of the fitted values of the chosen method fit to the reduced data
est- a vector with the corrected estimates
naive- a vector with the naive estimates
eif- a list with the influence curve-based updates
se- a vector with the standard errors
ci- a matrix with the CIs
mat - a tibble with the estimated variable importance, the standard errors, and the \((1-\alpha) \times 100\)% confidence intervals
full_mod - a list of the objects returned by the estimation procedure for the full data regression (if applicable)
red_mod - a list of the objects returned by the estimation procedure for the reduced data regression (if applicable)
alpha - a list of the levels, for confidence interval calculation
# generate the data
# generate X
p <- 2
n <- 100
x <- data.frame(replicate(p, stats::runif(n, -5, 5)))
# apply the function to the x's
smooth <- (x[,1]/5)^2*(x[,1]+7)/5 + (x[,2]/3)^2
# generate Y ~ Normal (smooth, 1)
y <- smooth + stats::rnorm(n, 0, 1)
# set up a library for SuperLearner; note simple library for speed
library("SuperLearner")
learners <- c("SL.glm", "SL.mean")
# using Super Learner (with a small number of folds, for illustration only)
est_2 <- vimp_regression(Y = y, X = x, indx = 2, V = 2,
run_regression = TRUE, alpha = 0.05,
SL.library = learners, cvControl = list(V = 2))
#> Warning: vimp_anova now performs all functionality of vimp_regression; please update any code to reflect this change!
#> Hypothesis testing is not available for type = 'anova'. If you want an R-squared-based hypothesis test, please enter type = 'r_squared'.
#> Warning: Original estimate < 0; returning zero.
est_1 <- vimp_regression(Y = y, X = x, indx = 1, V = 2,
run_regression = TRUE, alpha = 0.05,
SL.library = learners, cvControl = list(V = 2))
#> Warning: vimp_anova now performs all functionality of vimp_regression; please update any code to reflect this change!
#> Hypothesis testing is not available for type = 'anova'. If you want an R-squared-based hypothesis test, please enter type = 'r_squared'.
#> Warning: Original estimate < 0; returning zero.
ests <- merge_vim(est_1, est_2)