## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.align = "center", message = FALSE, warning = FALSE ) library(EpiExposure) library(ggplot2) library(dplyr) ## ----load-package------------------------------------------------------------- library(EpiExposure) library(ggplot2) ## ----load-data---------------------------------------------------------------- data("epi_data") ## ----example-data-table, echo=FALSE------------------------------------------- knitr::kable( utils::head( epi_data, 10L ), digits = 2, align = "c" ) ## ----check-history-length----------------------------------------------------- table( table( epi_data$epi_id ) ) ## ----message=FALSE, warning=FALSE--------------------------------------------- wetness_plot = epi_data |> ggplot(aes(time,wetness, group = epi_id))+ geom_smooth(se = F, color = "#55A868",linewidth = 0.3)+ theme_bw()+ labs(x = "Days after planting the crop", y = "Leaf wetness (%)")+ scale_x_continuous(limits = c(0,85), expand = c(0,0), breaks = pretty(epi_data$time, n = 8))+ theme(text = element_text(size = 10)) wetness_plot ## ----message=FALSE, warning=FALSE--------------------------------------------- rain_plot = epi_data |> ggplot(aes(time,rain, group = epi_id))+ geom_smooth(se = F, color = "#4C72B0",linewidth = 0.3)+ theme_bw()+ labs(x = "Days after planting the crop", y = "Daily precipitation (mm)")+ scale_x_continuous(limits = c(0,85), expand = c(0,0), breaks = pretty(epi_data$time, n = 8))+ theme(text = element_text(size = 10)) rain_plot ## ----message=FALSE, warning=FALSE--------------------------------------------- tmean_plot = epi_data |> ggplot(aes(time,tmean, group = epi_id))+ geom_smooth(se = F, color = "#C44E52",linewidth = 0.3)+ theme_bw()+ labs(x = "Days after planting the crop", y = "Mean temperature (°C)")+ scale_x_continuous(limits = c(0,85), expand = c(0,0), breaks = pretty(epi_data$time, n = 8))+ theme(text = element_text(size = 10)) tmean_plot ## ----define-exposures--------------------------------------------------------- cb <- define_exposures( data = epi_data, vars = c( "tmean", "rain", "wetness" ), max_lag = 85, df_var = 3, df_lag = 2 ) ## ----check-identifiability---------------------------------------------------- identifiability <- check_identifiability( data = epi_data, vars = c( "tmean", "rain", "wetness" ), max_lag = 85, df_var = 3, df_lag = 2 ) ## ----inspect-identifiability1------------------------------------------------- knitr::kable( utils::head( identifiability$overall, 10L ), digits = 4, align = "c" ) ## ----inspect-identifiability2------------------------------------------------- knitr::kable( utils::head( identifiability$by_variable, 10L ), digits = 4, align = "c" ) ## ----inspect-identifiability3------------------------------------------------- knitr::kable( utils::head( identifiability$recommendations, 10L ), digits = 4, align = "c" ) ## ----build-design------------------------------------------------------------- dat <- build_design( data = epi_data, cb_templates = cb) ## ----design-table, echo=FALSE------------------------------------------------- knitr::kable( utils::head( dat, 6L ), digits = 3, caption = "First six rows of the epidemic-level DLNM design.", align = "c" ) ## ----prepare-response--------------------------------------------------------- dat <- prepare_response( data = dat, response = "y", family = "beta" ) ## ----fit-model---------------------------------------------------------------- fit <- fit_epidlnm( data = dat, model_engine = "glmmTMB", family = "beta", random_effect = NULL, epiexposure_spec = attr( cb, "spec" ) ) ## ----model-summary------------------------------------------------------------ summary(fit) ## ----first-prediction--------------------------------------------------------- prediction <- predict_outcomes( fit = fit, profiles = list( tmean = rep( 25, 86 ), rain = rep( 5, 86 ), wetness = rep( 15, 86 ) ) ) ## ----------------------------------------------------------------------------- prediction