visreg_delta function

Plot sdmTMB models with the visreg package

Plot sdmTMB models with the visreg package

sdmTMB models fit with regular (non-delta) families can be passed to visreg::visreg() or visreg::visreg2d() directly. Examples are shown below. Delta models can use the helper functions visreg_delta() or visreg2d_delta() described here.

visreg_delta(object, ..., model = c(1, 2)) visreg2d_delta(object, ..., model = c(1, 2))

Arguments

  • object: Fit from sdmTMB()
  • ...: Any arguments passed to visreg::visreg() or visreg::visreg2d()
  • model: 1st or 2nd delta model

Returns

A plot from the visreg package. Optionally, the data plotted invisibly if plot = FALSE. This is useful if you want to make your own plot after.

Details

Note the residuals are currently randomized quantile residuals, not deviance residuals as is usual for GLMs with visreg.

Examples

if (require("ggplot2", quietly = TRUE) && require("visreg", quietly = TRUE)) { fit <- sdmTMB( density ~ s(depth_scaled), data = pcod_2011, spatial = "off", family = tweedie() ) visreg::visreg(fit, xvar = "depth_scaled") visreg::visreg(fit, xvar = "depth_scaled", scale = "response") v <- visreg::visreg(fit, xvar = "depth_scaled") head(v$fit) # now use ggplot2 etc. if desired # Delta model example: fit_dg <- sdmTMB( density ~ s(depth_scaled, year, k = 8), data = pcod_2011, mesh = pcod_mesh_2011, spatial = "off", family = delta_gamma() ) visreg_delta(fit_dg, xvar = "depth_scaled", model = 1, gg = TRUE) visreg_delta(fit_dg, xvar = "depth_scaled", model = 2, gg = TRUE) visreg_delta(fit_dg, xvar = "depth_scaled", model = 1, scale = "response", gg = TRUE ) visreg_delta(fit_dg, xvar = "depth_scaled", model = 2, scale = "response" ) visreg_delta(fit_dg, xvar = "depth_scaled", model = 2, scale = "response", gg = TRUE, rug = FALSE ) visreg2d_delta(fit_dg, xvar = "depth_scaled", yvar = "year", model = 2, scale = "response" ) visreg2d_delta(fit_dg, xvar = "depth_scaled", yvar = "year", model = 1, scale = "response", plot.type = "persp" ) visreg2d_delta(fit_dg, xvar = "depth_scaled", yvar = "year", model = 2, scale = "response", plot.type = "gg" ) }