Rounds sampling intervals that are close, but not exactly the time interval of interest (e.g., 240 s instead of 300 s). This can be performed on multiple time intervals, but only using a single tolerance value. This function prepares the data to be analyzed by segment_behavior, which requires that all time intervals exactly match the primary time interval when analyzing step lengths and turning angles. Columns storing the time intervals and dates must be labeled dt and date, respectively, where dates are of class POSIXct.

round_track_time(dat, id, int, tol, = "UTC", units)



A data frame that contains the sampling interval of the observations.


character. The name of the column storing the animal IDs.


numeric. A vector of the time interval(s) of on which to perform rounding.


numeric. A single tolerance value on which to round any int that were specified.

character. Specify the time zone for which the date-times were recorded. Set to UTC by default. Refer to base::OlsonNames to view all possible time zones.


character. The units of the selected time interval int, which can be selected from one of "secs", "mins", "hours", "days", or "weeks".


A data frame where dt and date are both adjusted based upon the rounding of time intervals according to the specified tolerance.


#load data data(tracks) #subset only first track tracks<- tracks[tracks$id == "id1",] #calculate step lengths and turning angles tracks<- prep_data(dat = tracks, coord.names = c("x","y"), id = "id") #round times to nearest interval of interest (e.g. 3600 s or 1 hr) tracks<- round_track_time(dat = tracks, id = "id", int = 3600, tol = 180, = "UTC", units = "secs")