Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>")
## ----message=FALSE------------------------------------------------------------
set.seed(123) #to ensure reproducible data
library(EWSmethods)
## ----load_data, eval=T--------------------------------------------------------
#Load the two datasets in to the session
data("simTransComms")
data("CODrecovery")
## ----vis_data,dpi=144---------------------------------------------------------
matplot(simTransComms$community1[,3:7], type = "l", xlab = "Time", ylab = "Density", main = "Transitioning five species community")
plot(x = CODrecovery$scenario2$time, y = CODrecovery$scenario2$biomass, type = "l", xlab = "Year", ylab = "Abundance", main = "Recovering cod population")
## ----inflec_data,echo=F,fig.align='center'------------------------------------
knitr::kable(data.frame("simTransComms" = simTransComms$community1$inflection_pt[1],
"CODrecovery" =
CODrecovery$scenario2$inflection_pt[1]))
## ----trunc_data---------------------------------------------------------------
pre_simTransComms <- subset(simTransComms$community1,time < inflection_pt)
pre_CODrecovery <- subset(CODrecovery$scenario2,time < inflection_pt)
## ----figure, echo=F,fig.cap = "Rolling (A) vs expanding (C) window concept diagram. Panels B and D introduce the circumstance when a 'warning' is signalled in both approaches"----
knitr::include_graphics("ewsmethods_eg_fig.png", dpi = 144)
## ----rolling_ews--------------------------------------------------------------
rolling_ews_eg <- uniEWS(data = pre_simTransComms[,c(2,5)],
metrics = c("ar1","SD","skew"),
method = "rolling",
winsize = 50)
## ----rolling_ews_fig,dpi=144,fig.height=6-------------------------------------
plot(rolling_ews_eg, y_lab = "Density")
## ----expanding_ews,fig.keep = "none"------------------------------------------
expanding_ews_eg <- uniEWS(data = pre_simTransComms[,c(2,5)],
metrics = c("ar1","SD","skew"),
method = "expanding",
burn_in = 50,
threshold = 2)
## ----expanding_ews_fig,dpi=144,fig.height=6-----------------------------------
plot(expanding_ews_eg, y_lab = "Density")
## ----trait_ews,fig.keep = "none"----------------------------------------------
trait_ews_eg <- uniEWS(data = pre_CODrecovery[,c(2,3)],
metrics = c("ar1","SD","trait"), #note "trait" is provided here
method = "expanding",
trait = pre_CODrecovery$mean.size, #and here
burn_in = 15, #small burn_in due to shorter time series
threshold = 2)
## ----trait_ews_fig,dpi=144----------------------------------------------------
plot(trait_ews_eg, y_lab = "Density", trait_lab = "Mean size (g)")
## ----multi_ews, fig.keep = "none"---------------------------------------------
multi_ews_eg <- multiEWS(data = pre_simTransComms[,2:7],
metrics = c("meanAR","maxAR","meanSD","maxSD","eigenMAF","mafAR","mafSD","pcaAR","pcaSD","eigenCOV","maxCOV","mutINFO"),
method = "rolling",
winsize = 50)
## ----multi_ews_fig,dpi=144,fig.height=6---------------------------------------
plot(multi_ews_eg)
## ----multi_ews2, fig.keep = "none"--------------------------------------------
multi_ews_eg2 <- multiEWS(data = pre_simTransComms[,2:7],
method = "expanding",
burn_in = 50,
threshold = 2)
## ----multi_ews2_fig,dpi=144,fig.height=6--------------------------------------
plot(multi_ews_eg2)
## ----detrend,dpi=144----------------------------------------------------------
detrend_dat <- detrend_ts(data = pre_simTransComms[,2:7], method = "loess", span = 0.75, degree = 2)
matplot(x = detrend_dat$time, y = detrend_dat[,2:6], type = "l", xlab = "Date", ylab = "Density", main = "LOESS detrended five species community")
## ----create_seasonal,dpi=144--------------------------------------------------
spp_data <- matrix(nrow = 5*12, ncol = 5)
seasonal_cycle <- 20*sin(2*pi*(1:5*12)/12)
spp_data <- sapply(1:dim(spp_data)[2], function(x){
spp_data[,x] <- ts(rnorm(5*12,mean = 20, sd = 3) + seasonal_cycle, freq = 12, start = c(2000, 1)) #add seasonal cycle to random noise
})
multi_spp_data <- cbind("time" = base::seq(base::as.Date('2000/01/01'), base::as.Date('2004/12/01'), by = "month"), as.data.frame(spp_data))
matplot(x = multi_spp_data$time, y = multi_spp_data[,2:6], type = "l", xlab = "Date", ylab = "Density", main = "Seasonal five species community")
## ----deseason,dpi=144---------------------------------------------------------
deseas_dat <- deseason_ts(data = multi_spp_data, increment = "month", method = "average", order = "ymd")
matplot(x = deseas_dat$date, y = deseas_dat[,2:6], type = "l", xlab = "Date", ylab = "Density", main = "Deseasoned five species community")
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.