group_pts groups rows into spatial groups. The function accepts a
data.table with relocation data, individual identifiers and a threshold argument. The threshold argument is used to specify the criteria for distance between points which defines a group. Relocation data should be in two columns representing the X and Y coordinates.
distance for grouping points, in the units of the coordinates
Character string of ID column name
Character vector of X coordinate and Y coordinate column names
(optional) timegroup field in the DT upon which the grouping will be calculated
(optional) character string or vector of grouping column name(s) upon which the grouping will be calculated
DT must be a
data.table. If your data is a
data.frame, you can convert it by reference using
coords (and optional
splitBy) arguments expect the names of a column in
DT which correspond to the individual identifier, X and Y coordinates, timegroup (generated by
group_times) and additional grouping columns.
threshold must be provided in the units of the coordinates. The
threshold must be larger than 0. The coordinates must be planar coordinates (e.g.: UTM). In the case of UTM, a
threshold = 50 would indicate a 50m distance threshold.
timegroup argument is optional, but recommended to pair with
group_times. The intended framework is to group rows temporally with
group_times then spatially with
splitBy argument offers further control over grouping. If within your
DT, you have multiple populations, subgroups or other distinct parts, you can provide the name of the column which identifies them to
splitBy. The grouping performed by
group_pts will only consider rows within each
group_pts returns the input
DT appended with a
This column represents the spatial (and if
timegroup was provided - spatiotemporal) group. As with the other grouping functions, the actual value of
group is arbitrary and represents the identity of a given group where 1 or more individuals are assigned to a group. If the data was reordered, the
group may change, but the contents of each group would not.
A message is returned when a column named
group already exists in the input
DT, because it will be overwritten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# Load data.table library(data.table) # Read example data DT <- fread(system.file("extdata", "DT.csv", package = "spatsoc")) # Cast the character column to POSIXct DT[, datetime := as.POSIXct(datetime, tz = 'UTC')] # Temporal grouping group_times(DT, datetime = 'datetime', threshold = '20 minutes') # Spatial grouping with timegroup group_pts(DT, threshold = 5, id = 'ID', coords = c('X', 'Y'), timegroup = 'timegroup') # Spatial grouping with timegroup and splitBy on population group_pts(DT, threshold = 5, id = 'ID', coords = c('X', 'Y'), timegroup = 'timegroup', splitBy = 'population')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.