if (rlang::is_installed(c("recipes", "modeldata"))) {
  library(recipes)
  library(dplyr)
  data(biomass, package = "modeldata")
  biomass_tr <-
    biomass %>%
    dplyr::filter(dataset == "Training") %>%
    dplyr::select(-dataset, -sample)
  biomass_te <-
    biomass %>%
    dplyr::filter(dataset == "Testing") %>%
    dplyr::select(-dataset, -sample)
  # ------------------------------------------------------------------------------
  ctrl <- control_bag(var_imp = TRUE)
  # ------------------------------------------------------------------------------
  # `times` is low to make the examples run faster
  set.seed(7687)
  cart_bag <- bagger(x = biomass_tr[, -6], y = biomass_tr$HHV,
                     base_model = "CART", times = 5, control = ctrl)
  cart_bag
  # ------------------------------------------------------------------------------
  # Other interfaces
  # Recipes can be used
  biomass_rec <-
    recipe(HHV ~ ., data = biomass_tr) %>%
    step_pca(all_predictors())
  set.seed(7687)
  cart_pca_bag <- bagger(biomass_rec, data = biomass_tr, base_model = "CART",
                         times = 5, control = ctrl)
  cart_pca_bag
}
Run the code above in your browser using DataLab