Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## -----------------------------------------------------------------------------
library(palaeoSig)
library(rioja)
library(sf)
library(gstat)
library(dplyr)
library(tibble)
library(tidyr)
library(purrr)
library(ggplot2)
set.seed(42) # for reproducibility
## ---- results='hide', warning=FALSE-------------------------------------------
# load data
data(Atlantic)
meta <- c("Core", "Latitude", "Longitude", "summ50")
Atlantic <- as.data.frame(Atlantic) # prevents rowname warnings
# pseudocore as no fossil foram data in palaeoSig
fosn <- Atlantic |>
filter(between(summ50, 5, 10)) |>
slice_sample(n = 20)
# remaining samples as training set
Atlantic <- Atlantic |>
anti_join(fosn, by = "Core") |>
slice_sample(n = 300) # random subset to speed analysis up
Atlantic_meta <- Atlantic |>
select(one_of(meta)) # to keep rdist.earth happy
Atlantic <- Atlantic |> # species
select(-one_of(meta))
fos <- fosn |>
select(-one_of(meta))
## ---- message=FALSE, results = 'hide', fig.cap = "Figure 2: Semi-variogram fitted to detrended residuals of a weighted averaging model."----
Atlantic_meta <- st_as_sf(
x = Atlantic_meta,
coords = c("Longitude", "Latitude"),
crs = 4326
)
## ---- fig.cap = "Figure 1: Semi-variogram model (Matérn class) fitted to the Atlantic summer sea temperature at 50 m depth."----
# Estimate the variogram model for the environmental variable of interest
ve <- variogram(summ50 ~ 1, data = Atlantic_meta)
vem <- fit.variogram(
object = ve,
model = vgm(40, "Mat", 5000, .1, kappa = 1.8)
)
plot(ve, vem)
vem
## -----------------------------------------------------------------------------
# Simulating environmental variables
sim <- krige(sim ~ 1,
locations = Atlantic_meta,
dummy = TRUE,
nsim = 100,
beta = mean(Atlantic_meta$"summ50"),
model = vem,
newdata = Atlantic_meta
)
# convert sf back to a regular data.frame
sim <- sim |> st_drop_geometry()
## -----------------------------------------------------------------------------
rtf_auto <- randomTF(
spp = Atlantic,
env = Atlantic_meta$summ50,
fos = fos,
autosim = sim,
fun = MAT,
col = "MAT.wm"
)
plot(rtf_auto)
## -----------------------------------------------------------------------------
rtf_ind <- randomTF(
spp = Atlantic,
env = Atlantic_meta$summ50,
fos = fos,
fun = MAT,
col = "MAT.wm"
)
plot(rtf_ind)
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.