sweepRACVM | R Documentation |
Sets a window (a subset of movement data within specific time window), computes likelihoods for a set of candidate change points within the window, and steps the window forward, filling out a likelihood matrix.
sweepRACVM(Z, ...) ## Default S3 method: sweepRACVM( Z, T, windowsize, windowstep, model = "UCVM", progress = TRUE, time.unit = "hours", ..., .parallel = FALSE ) ## S3 method for class 'data.frame' sweepRACVM(Z, ...) ## S3 method for class 'ltraj' sweepRACVM(Z, ...) ## S3 method for class 'Move' sweepRACVM(Z, ...)
Z |
location data. Can be: a complex vector, a two-column matrix or data frame, an |
... |
additional parameters to pass to the |
T |
time vector, ignored if |
windowsize |
time window of analysis to scan, IMPORTANTLY: in units of time (T). |
windowstep |
step (in time) by which the window advances. The smaller the step, the slower but more thorough the estimation. |
model |
model to fit for the change point sweep - typically the most complex model in the candidate model set. |
progress |
whether or not to show a progress bar |
time.unit |
of the windowsize AND the windowstep. The default is "hours" - can be any of "secs", "mins", "hours", "days", "weeks" (See |
.parallel |
if set TRUE, will use |
plotWindowSweep
, estimateRACVM
, testCP
if(interactive() && FALSE){ # Three stage example (from vignette) require(smoove) require(plyr) require(magrittr) taus <- c(3, 3, 1) mus <- c(3, 0, 0) etas <- c(2, 1, 1) tmaxes <- c(40,60,100) Z.raw <- 0 T.raw <- 0 mycvm <- list() for(i in 1:length(taus)){ if(i > 1) v0 <- mycvm$V[length(mycvm)] else v0 = mus[1] mycvm <- simulateRACVM(tau = taus[i], eta = etas[i], mu = mus[i], v0 = v0, Tmax = tmaxes[i], dt = 0.01) Z.raw <- c(Z.raw, mycvm$Z + Z.raw[length(Z.raw)]) T.raw <- c(T.raw, mycvm$T + T.raw[length(T.raw)]) } multicvm <- data.frame(Z = Z.raw, T = T.raw)[sample(1:length(Z.raw), 400),] %>% arrange(T) plot_track(multicvm$Z) # Perform sweep simSweep <- with(multicvm, sweepRACVM( Z = Z, T = T, windowsize = 80, windowstep = 10, model = "ACVM" )) # Perform sweep in parallel (can greatly improve speed) if(!requireNamespace('doParallel',quietly = TRUE)) warning("package \"doParallel\" is needed for this example. Please install it first and then run this example", call. = FALSE) cl <- parallel::makeCluster(parallel::detectCores()) doParallel::registerDoParallel(cl) simSweep <- with( multicvm, sweepRACVM( Z = Z, T = T, windowsize = 80, windowstep = 5, model = "UCVM", .parallel = TRUE ) ) # plot result of window sweep plotWindowSweep(simSweep) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.