## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, comment = "#>") library(baggr) library(ggplot2) baggr_schools <- baggr(schools, model = "rubin", pooling = "partial") # baggr_plot(baggr_schools) # baggr_compare(schools) # my_baggr_plot <- baggr_compare(schools) ## ----eval=FALSE--------------------------------------------------------------- # # Auto-detect binary summary input (a, b, c, d columns) # baggr(df_binary_summary) # # # Auto-detect individual-level input with a multi-arm treatment factor # baggr(df_multiarm_individual, # outcome = "outcome", # treatment = "treatment_arm", # group = "study") ## ----------------------------------------------------------------------------- prepare_ma(microcredit_simplified, outcome = "consumption") ## ----------------------------------------------------------------------------- schools ## ----eval=FALSE--------------------------------------------------------------- # baggr_schools <- baggr(schools, model = "rubin", pooling = "partial") ## ----------------------------------------------------------------------------- print(baggr_schools) ## ----eval=FALSE--------------------------------------------------------------- # baggr(schools, "rubin", # prior_hypermean = normal(-5, 10), # prior_hypersd = uniform(0, 5)) ## ----eval=FALSE--------------------------------------------------------------- # custom_priors <- list( hypermean = cauchy(0,25), hypersd = normal(0,30)) # baggr(schools, "rubin", pooling = "partial", prior = custom_priors) ## ----eval=FALSE--------------------------------------------------------------- # baggr_schools <- baggr(schools, model = "rubin", pooling = "partial", # iter = 10000, chains = 8) ## ----eval=FALSE--------------------------------------------------------------- # baggr_schools <- baggr(schools, model = "rubin", pooling = "partial", # iter = 10000, chains = 8, # control = list(adapt_delta = 0.99)) #see rstan documentation for details ## ----------------------------------------------------------------------------- pooling(baggr_schools) ## ----fig.width=4-------------------------------------------------------------- plot(baggr_schools, order = FALSE) ## ----fig.width = 4------------------------------------------------------------ effect_plot(baggr_schools) ## ----------------------------------------------------------------------------- effect_draw(baggr_schools, draws = 1) ## ----echo=TRUE, eval=FALSE---------------------------------------------------- # my_baggr_comparison <- baggr_compare(schools) ## ----echo=FALSE, eval = TRUE, include = FALSE--------------------------------- my_baggr_comparison <- baggr_compare(schools) ## ----fig.width=5, fig.height=4, echo = TRUE----------------------------------- plot(my_baggr_comparison) + ggtitle("8 schools: model comparison") ## ----eval=F, echo=T----------------------------------------------------------- # baggr_schools_v2 <- baggr(schools, prior_hypermean = normal(10, 2.5)) ## ----eval=T, include=F-------------------------------------------------------- baggr_schools_v2 <- baggr(schools, prior_hypermean = normal(10, 2.5)) ## ----fig.width=6, fig.height=5------------------------------------------------ effect_plot("Default model" = baggr_schools, "normal(10, 2.5)" = baggr_schools_v2) + coord_cartesian(xlim = c(-10, 30)) + theme(legend.position = "top") baggr_compare("Default model" = baggr_schools, "normal(10, 2.5)" = baggr_schools_v2) ## ----fig.width=8, fig.height = 5.5, out.width="90%"--------------------------- forest_plot(baggr_schools, show = "both") ## ----echo=TRUE, fig.width=8, fig.height = 5, out.width="90%"------------------ plot(baggr_schools, style = "forest") ## ----loocv, echo = T, results = 'hide', warning = F, message = F-------------- loocv_res <- loocv(schools, return_models = FALSE, iter = 1000, #just to make it a bit faster -- don't try it at home! model = "rubin", pooling = "partial") ## ----------------------------------------------------------------------------- loocv_res ## ----------------------------------------------------------------------------- names(attributes(loocv_res)) attr(loocv_res, "df") ## ----echo = FALSE, include = FALSE, results = 'hide'-------------------------- fit1 <- baggr(data = schools[1:7,], test_data = schools[8,], model = "rubin", pooling = "partial") fit2 <- baggr(data = schools[1:7,], test_data = schools[8,], model = "rubin", pooling = "full") ## ----------------------------------------------------------------------------- fit1$mean_lpd fit2$mean_lpd ## ----results = 'hide'--------------------------------------------------------- loocv_full <- loocv(data = schools, model = "rubin", pooling = "full") ## ----------------------------------------------------------------------------- loo_compare(loocv_res, loocv_full)