WindowSweep  R Documentation 
This is the workhorse function of the BCPA. It performs a sweep of the time series, searching for most significant change points and identifying the parsimonious model according to an adjusted BIC.
WindowSweep( data, variable, time.var = "T.mid", windowsize = 50, windowstep = 1, units = "hours", K = 2, tau = TRUE, range = 0.6, progress = TRUE, plotme = FALSE, ... )
data 
the data to be analyzed. Generically, the output of the

variable 
a character string representing the response variable to
apply the BCPA to. For example 
time.var 
character string for the time variable. The default is

windowsize 
integer size of the analysis window as a number of data points (not time units). Should probably be no smaller than 20. 
windowstep 
integer step size of analysis. Values greater than 1 speed the analysis up. 
units 
if the times are POSIX, 
K 
sensitivity parameter for the adjusted BIC. Smaller values make for a less sensitive model selection, i.e. more likely that the null model of no significant changes will be selected. 
tau 
a logical indicating whether the autocorrelation "rho" or the characteristic time "tau" should be estimated. 
range 
a number between 0 and 1 that determines the extent of each
window that is scanned for changepoints. I.e., if the window is 100
datapoints long, at the default 
progress 
logical  whether or not to output a progress bar as the analysis is being performed. 
plotme 
logical  whether or not to plot the analysis as it is happening. This slows the analysis considerably, especially in nondynamic graphic environments like RStudio. 
... 
additional parameters to be passed to the

an object of class windowsweep
, which is a list containing:
ws 
a data frame containing the change point, selected model, and parameter estimates 
x 
the response variable 
t 
the time variable  in the units specified in the data object 
t.POSIX 
the time variable as a POSIX object (containing YMD H:S) 
windowsize 
the window size 
windowstep 
the window step size 
Eliezer Gurarie
for internal functions: GetModels
,
GetBestBreak
, GetDoubleL
; for summarizing
output: ChangePointSummary
; for plotting output:
plot.bcpa
# Using the included simulated movement data require(bcpa) data(Simp) plot(Simp) Simp.VT < GetVT(Simp) ## note: column names of Simp.VT include: ### "S"  step length ### "Theta"  turning angle ### T.start" "T.end" "T.mid" "T.POSIX"  time variables if(interactive()) Simp.ws < WindowSweep(Simp.VT, "V*cos(Theta)", windowsize = 50, windowstep = 1, progress=TRUE) else Simp.ws < WindowSweep(Simp.VT, "V*cos(Theta)", windowsize = 50, windowstep = 1, progress=FALSE) plot(Simp.ws, threshold = 7) plot(Simp.ws, type = "flat", clusterwidth = 3) PathPlot(Simp, Simp.ws) PathPlot(Simp, Simp.ws, type="flat") DiagPlot(Simp.ws) # Example of application on one dimensional data (e.g. depth) # simulate some data with three change points: surface, medium, deep, surface ## random times within 100 hours of now n.obs < 100 time = sort(Sys.time()  runif(n.obs, 0, n.obs) * 60 * 60) d1 < 50; d2 < 100 t1 < 25; t2 < 65; t3 < 85 sd1 < 1; sd2 < 5; sd3 < 10 dtime < as.numeric(difftime(time, min(time), units="hours")) phases < cut(dtime, c(1, t1, t2, t3, 200), labels = c("P1","P2","P3","P4")) means < c(0,d1,d2,0)[phases] sds < c(sd1,sd2,sd3,sd1)[phases] depth < rnorm(n.obs,means, sds) # make all depths positive! depth < abs(depth) mydata < data.frame(time, depth) # perform windowsweep ws < WindowSweep(mydata, "depth", time.var = "time", windowsize = 30, windowstep = 1, progress=interactive()) plot(ws) plot(ws, type = "flat", cluster = 6) ChangePointSummary(ws, cluster = 6)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.