# Test integration (taken from vignette)
test_that("Worklow works as expected", {
skip_on_os(os = "mac")
skip_on_cran()
bounds <- spm_as_boundary(boundaries = sfa_boundaries,
boundary = "sfa")
biomass_dataset <-
spm_as_dataset(borealis_simulated, name = "borealis",
density = "weight_per_km2",
time = "year_f",
coords = c('lon_dec','lat_dec'),
uniqueID = "uniqueID")
predator_dataset <-
spm_as_dataset(predator_simulated, name = "all_predators",
density = "weight_per_km2",
time = "year_f",
coords = c("lon_dec", "lat_dec"),
uniqueID = "uniqueID")
bounds_voronoi <- bounds %>%
spm_discretize(method = "tesselate_voronoi",
with = biomass_dataset,
nb_samples = 30)
bounds_delaunay <- bounds %>%
spm_discretize(method = "triangulate_delaunay", a = 1, q = 30)
biomass_smooth <- biomass_dataset %>%
spm_smooth(weight_per_km2 ~ sfa + smooth_time(by = sfa) +
smooth_space() +
smooth_space_time(),
boundaries = bounds_voronoi,
family=tw)%>%
spm_smooth(temp_at_bottom ~ smooth_time(by=sfa, xt = NULL) +
smooth_space() +
smooth_space_time(xt = NULL),
family=gaussian)
predator_smooth <- predator_dataset %>%
spm_smooth(weight_per_km2 ~ smooth_time() + smooth_space(),
boundaries = bounds_voronoi,
drop.unused.levels = F, family=tw, method= "fREML")
catch_dataset <-
spm_as_dataset(catch_simulated, name = "catch_data",
biomass = "catch",
time = "year_f",
uniqueID = "uniqueID",
coords = c("lon_dec", "lat_dec"))
biomass_smooth_w_catch <-
spm_aggregate_catch(biomass = biomass_smooth,
catch = catch_dataset,
biomass_variable = "weight_per_km2",
catch_variable = "catch",
fill = mean)
sspm_model <- sspm(biomass = biomass_smooth_w_catch,
predictors = predator_smooth)
sspm_model <- sspm_model %>%
spm_split(year_f %in% c(1990:2017))
sspm_model <- sspm_model %>%
spm_lag(vars = c("weight_per_km2_borealis",
"weight_per_km2_all_predators"),
n = 1)
sspm_model_fit <- sspm_model %>%
spm(log_productivity ~ sfa +
weight_per_km2_all_predators_lag_1 +
smooth_space(by = weight_per_km2_borealis_lag_1) +
smooth_space() +
smooth_lag("weight_per_km2_borealis"),
family = mgcv::scat)
summary(sspm_model_fit, biomass = "weight_per_km2_borealis")
gam_fit <- spm_get_fit(sspm_model_fit)
preds <- predict(sspm_model_fit)
biomass_preds <- predict(sspm_model_fit, biomass = "weight_per_km2_borealis")
biomass_one_step <- predict(sspm_model_fit, biomass = "weight_per_km2_borealis",
next_ts = TRUE)
## Plots
plot(bounds)
plot(bounds_voronoi)
plot(bounds_delaunay)
plot(biomass_smooth, var = "weight_per_km2", log = FALSE, interval = T)
plot(biomass_smooth, var = "weight_per_km2", use_sf = TRUE)
plot(sspm_model_fit, train_test = TRUE, scales = "free")
plot(sspm_model_fit, log = T, scales = 'free')
plot(sspm_model_fit, log = T, use_sf = TRUE)
plot(sspm_model_fit, biomass = "weight_per_km2_borealis", scales = "free")
plot(sspm_model_fit, biomass = "weight_per_km2_borealis", use_sf = TRUE)
plot(sspm_model_fit, biomass = "weight_per_km2_borealis",
next_ts = TRUE, aggregate = TRUE, scales = "free",
smoothed_biomass = TRUE, interval = T)
## Closes with an expectation
expect_data_frame(biomass_one_step)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.