segmentation | R Documentation |
Segmentation of movement data. No clustering. Method available for data.frame, move and ltraj object. The algorithm finds for each number of segment the optimal segmentation using a Dynamic Programming approach. The number of segment is then chosen using Lavielle's (2005) procedure based on locating rupture in the penalized likelihood.
segmentation(x, ...) ## S3 method for class 'data.frame' segmentation(x, ...) ## S3 method for class 'Move' segmentation(x, ...) ## S3 method for class 'ltraj' segmentation(x, ...) segmentation_internal( x, seg.var, diag.var, order.var, lmin, Kmax, scale.variable, sameSigma = FALSE, ... )
x |
data.frame with observations |
... |
additional parameters given to chooseseg_lavielle |
seg.var |
names of the variables used for segmentation (either one or two names). |
diag.var |
names of the variables on which statistics are calculated. |
order.var |
names of the variable with which states are ordered. |
lmin |
minimum length of segments. |
Kmax |
maximum number of segments. |
scale.variable |
TRUE or FALSE for automatic scaling of variables (reduction and centering) |
sameSigma |
does segments have same variance ? |
a segmentation-class
object
df <- test_data()$data #' # data is a data.frame with column 'x' and 'y' # Simple segmentation with automatic subsampling # if data has more than 1000 rows: res <- segmentation(df, Kmax = 30, lmin = 10, seg.var = c("x","y")) # Plot results plot(res) segmap(res) # check likelihood of alternative number of segment possible. There should # be a clear break if the segmentation is good plot_likelihood(res) ## Not run: # Advanced options: # Run with automatic subsampling if df has more than 500 rows: res <- segmentation(df, Kmax = 30, lmin = 10, seg.var = c("x","y"), subsample_over = 500) # Run with subsampling by 2: res <- segmentation(df, Kmax = 30, lmin = 10, seg.var = c("x","y"), subsample_by = 2) # Disable subsampling: res <- segmentation(df, Kmax = 30, lmin = 10, seg.var = c("x","y"), subsample = FALSE) # Run on other kind of variables : res <- segmentation(df, Kmax = 30, lmin = 10, seg.var = c("dist","angle")) # Automatic scaling of variables for segmentation (set a mean of 0 and a standard deviation of 1 for both variables) res <- segmentation(df, Kmax = 30, lmin = 10, seg.var = c("dist","angle"), scale.variable = TRUE) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.