| plot_nonlocal_covariate | R Documentation |
Visualize fitted covariate-diffusion transforms or impulse-response kernels
for one selected covariate-diffusion term.
By default, values are plotted at mesh vertices with the mesh edges shown in
light grey. Values can also be evaluated at supplied newdata coordinates
and plotted as points or a raster.
plot_nonlocal_covariate(
object,
component,
newdata = NULL,
type = c("point", "raster"),
covariate = NULL,
time_value = 1,
n_steps = 1L,
common_scale = TRUE
)
plot_nonlocal_kernel(
object,
component,
newdata = NULL,
type = c("point", "raster"),
covariate = NULL,
time_value = 1,
n_steps = 3L,
common_scale = FALSE
)
object |
A fitted |
component |
Covariate-diffusion component name. Must be one of
|
newdata |
Optional data frame with x/y coordinate columns matching the
fitted mesh. If supplied, values are evaluated at the unique |
type |
Plot type: |
covariate |
Optional covariate name from |
time_value |
Optional time slice to plot or use for the impulse. Supply either a modeled time value or a 1-based time index. Defaults to 1. |
n_steps |
Number of transformed slices to plot starting at
|
common_scale |
Should the plotted panels share a common color scale?
Defaults to |
plot_nonlocal_covariate() visualizes the original mesh-vertex covariate
field and its fitted covariate-diffusion transform for one selected
covariate time slice across one or more lagged output time slices.
plot_nonlocal_kernel() visualizes an impulse entering and diffusing through
one covariate-diffusion component.
A ggplot object.
# Simulate some data for fitting:
set.seed(1)
n_t <- 6
n_sites <- 80
sites <- data.frame(X = runif(n_sites), Y = runif(n_sites))
dat <- data.frame(
X = rep(sites$X, times = n_t),
Y = rep(sites$Y, times = n_t),
year = rep(seq_len(n_t), each = n_sites)
)
dat$x1 <- as.numeric(scale(
sin(2 * pi * (dat$X + dat$year / 6)) +
cos(2 * pi * (dat$Y - dat$year / 8)) +
0.4 * sin(4 * pi * dat$X) * cos(dat$year / 2) +
rnorm(nrow(dat), sd = 0.15)
))
mesh <- make_mesh(dat, xy_cols = c("X", "Y"), cutoff = 0.12)
sim <- simulate_new(
formula = ~ 1,
data = dat,
mesh = mesh,
time = "year",
family = gaussian(),
spatial = "off",
spatiotemporal = "off",
range = 0.3,
sigma_O = 0,
sigma_E = 0,
phi = 0.1,
B = c(0, 0.7, 0.6),
nonlocal_formula = ~ diffusion(x1) + time_lag(x1),
lags_kappaS = 4.4,
lags_rhoT = 0.3,
seed = 123
)
dat$observed <- sim$observed
# Fit the model:
fit <- sdmTMB(
observed ~ 1,
data = dat,
mesh = mesh,
time = "year",
spatial = "off", # keeping example simple
spatiotemporal = "off", # keeping example simple
family = gaussian(),
nonlocal_formula = ~ diffusion(x1) + time_lag(x1) #<
)
plot_nonlocal_covariate(
fit,
covariate = "x1",
component = "diffusion"
)
plot_nonlocal_covariate(
fit,
covariate = "x1",
component = "time_lag",
time_value = 1,
n_steps = 2
)
plot_nonlocal_covariate(
fit,
covariate = "x1",
component = "combined",
time_value = 1,
n_steps = 2
)
plot_nonlocal_kernel(
fit,
covariate = "x1",
component = "diffusion"
)
plot_nonlocal_kernel(
fit,
covariate = "x1",
component = "time_lag",
time_value = 1,
n_steps = 2,
common_scale = TRUE #<
)
plot_nonlocal_kernel(
fit,
covariate = "x1",
component = "combined",
time_value = 1,
n_steps = 2
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.