Nothing
## ----setup, message=FALSE-----------------------------------------------------
library(spotr)
library(mgcv)
library(brms)
library(sf)
library(ggplot2)
library(dplyr)
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
fig.width = 5
)
## -----------------------------------------------------------------------------
data(cuckoo)
head(cuckoo)
## ----fig.height = 7-----------------------------------------------------------
cuckoo = st_as_sf(cuckoo, coords = c("lon", "lat"), crs = st_crs(4326), remove = FALSE)
data(swe_map)
## ----fig.height = 7-----------------------------------------------------------
ggplot(swe_map) + geom_sf() + geom_sf(aes(col = count), data = subset(cuckoo, yr == 2010))
## -----------------------------------------------------------------------------
gam_fit = gam(count ~ te(yr, lat, lon, d = c(1,2), k = c(8,30)), data = cuckoo, family = nb())
## ----fig.height = 7-----------------------------------------------------------
spat_grid = st_make_grid(cuckoo, cellsize = .5, what = "centers") |> st_sf() |>
st_intersection(swe_map)
# Add columns with longitude and latitude
spat_grid[, c("lon", "lat")] = st_coordinates(spat_grid)
ggplot(swe_map) + geom_sf() + geom_sf(data = spat_grid)
## -----------------------------------------------------------------------------
pred_points = merge(data.frame(yr = 2000:2020), spat_grid, by = NULL)
## -----------------------------------------------------------------------------
swe_ind = index(gam_fit, timevar = "yr", newdata = pred_points)
head(swe_ind)
## -----------------------------------------------------------------------------
swe_ind |>
ggplot(aes(x = yr, y = index)) +
geom_linerange(aes(ymin = ci_2.5, ymax = ci_97.5), col = "gray50") +
geom_linerange(aes(ymin = ci_10, ymax = ci_90), col = "red3", lwd =1) +
geom_point() + ylim(.8,1.2)
## -----------------------------------------------------------------------------
index(gam_fit, timevar = "yr", newdata = pred_points, baseline = 2000:2010) |>
ggplot(aes(x = yr, y = index)) +
geom_linerange(aes(ymin = ci_2.5, ymax = ci_97.5), col = "gray50") +
geom_linerange(aes(ymin = ci_10, ymax = ci_90), col = "red3", lwd =1) +
geom_point() + ylim(.8,1.2)
## -----------------------------------------------------------------------------
index(gam_fit, timevar = "yr", newdata = pred_points, type = "delta") |>
ggplot(aes(x = yr, y = index)) +
geom_linerange(aes(ymin = ci_2.5, ymax = ci_97.5), col = "gray50") +
geom_linerange(aes(ymin = ci_10, ymax = ci_90), col = "red3", lwd =1) +
geom_point()
## ----fig.height = 10, fig.width=7---------------------------------------------
index(gam_fit, timevar = "yr", byvar = "county", newdata = pred_points, baseline = 2000:2010) |>
ggplot(aes(x = yr, y = index, ymin = ci_2.5, ymax = ci_97.5)) +
geom_linerange(aes(ymin = ci_2.5, ymax = ci_97.5), col = "gray50") +
geom_linerange(aes(ymin = ci_10, ymax = ci_90), col = "red3", lwd = 1) +
geom_point(size=.5) +
scale_x_continuous(breaks = c(2005,2015)) + facet_wrap(vars(county))
## ----fig.height = 10, fig.width=7---------------------------------------------
index(gam_fit, timevar = "yr", byvar = "county", newdata = pred_points, baseline = 2000:2010, type = "global") |>
ggplot(aes(x = yr, y = index, ymin = ci_2.5, ymax = ci_97.5)) +
geom_linerange(aes(ymin = ci_2.5, ymax = ci_97.5), col = "gray50") +
geom_linerange(aes(ymin = ci_10, ymax = ci_90), col = "red3", lwd = 1) +
geom_point(size=.5) +
scale_x_continuous(breaks = c(2005,2015)) + facet_wrap(vars(county))
## ----fig.height = 10, fig.width=7---------------------------------------------
# Count number of predictions points per county
pred_points = pred_points |> group_by(county, yr) |> mutate(ppc = n())
w = 1/pred_points$ppc
# Denominator weights
bw = 1/(nrow(spat_grid) * length(2000:2010))
index(gam_fit, timevar = "yr", byvar = "county", newdata = pred_points, weights = w, bweights = bw, baseline = 2000:2010, type = "global") |>
ggplot(aes(x = yr, y = index, ymin = ci_2.5, ymax = ci_97.5)) +
geom_linerange(aes(ymin = ci_2.5, ymax = ci_97.5), col = "gray50") +
geom_linerange(aes(ymin = ci_10, ymax = ci_90), col = "red3", lwd = 1) +
geom_point(size=.5) +
scale_x_continuous(breaks = c(2005,2015)) + facet_wrap(vars(county))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.