## ----include = FALSE, eval=TRUE----------------------------------------------- use_saved_results <- TRUE knitr::opts_chunk$set( collapse = TRUE, comment = "#>", echo = TRUE, eval = !use_saved_results, message = FALSE, warning = FALSE ) if (use_saved_results) { library(pls) results <- readRDS("vignette_bci.rds") estimates <- results$estimates jackknife_estimates <- results$jackknife_estimates } ## ----eval=TRUE---------------------------------------------------------------- library(dplyr); library(tidyr); library(purrr); library(ggplot2) # Data wrangling library(tidyfit) # Model fitting ## ----eval=TRUE---------------------------------------------------------------- data <- MASS::Boston %>% scale %>% as_tibble ## ----------------------------------------------------------------------------- # model_frame <- data %>% # regress(medv ~ ., m("plsr", ncomp = 5), m("pcr", ncomp = 5), # .cv = "bootstraps", .cv_args = list(times = 100), # .return_slices = TRUE) ## ----------------------------------------------------------------------------- # estimates <- coef(model_frame, # .add_bootstrap_interval = TRUE, # .bootstrap_alpha = 0.05) ## ----eval=TRUE---------------------------------------------------------------- estimates ## ----eval=TRUE---------------------------------------------------------------- estimates <- estimates %>% unnest(model_info) estimates ## ----fig.width=7, fig.height=3.5, fig.align="center", eval=TRUE--------------- estimates %>% filter(term != "(Intercept)") %>% ggplot(aes(term, estimate, color = model)) + geom_hline(yintercept = 0) + geom_errorbar(aes(ymin = .lower, ymax = .upper), position = position_dodge()) + theme_bw(8) ## ----------------------------------------------------------------------------- # model_frame_jackknife <- data %>% # regress(medv ~ ., m("plsr", ncomp = 5, jackknife = TRUE, validation = "LOO"), # m("pcr", ncomp = 5, jackknife = TRUE, validation = "LOO")) # # jackknife_estimates <- coef(model_frame_jackknife) ## ----eval = TRUE-------------------------------------------------------------- jackknife_estimates <- jackknife_estimates %>% unnest(model_info) %>% # Create approximate 95% intervals using 2 standard deviations mutate(.upper = estimate + 2 * std.error, .lower = estimate - 2 * std.error) jackknife_estimates ## ----fig.width=7, fig.height=3.5, fig.align="center", eval=TRUE--------------- jackknife_estimates %>% filter(term != "(Intercept)") %>% ggplot(aes(term, estimate, color = model)) + geom_hline(yintercept = 0) + geom_errorbar(aes(ymin = .lower, ymax = .upper), position = position_dodge()) + theme_bw(8)