Insert NA gaps to regularize a time series
insert_NAs(data, int, units)
A data frame that minimally contains columns for animal ID, date,
and time step. These must be labeled id
, date
, and dt
,
respectively, where date is of class POSIXct
.
integer. An integer that characterizes the desired interval on which to insert new rows.
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 new rows have been inserted to regularize the date
column. This results in values provided for id
, date
, and dt while inserting NAs for all other columns. Additionally, observations with duplicate date-times are removed.
#load data
data(tracks)
#remove rows to show how function works (create irregular time series)
set.seed(1)
ind<- sort(sample(2:15003, 500))
tracks.red<- tracks[-ind,]
#calculate step lengths, turning angles, net-squared displacement, and time steps
tracks.red<- prep_data(dat = tracks.red, coord.names = c("x","y"), id = "id")
#round times to nearest interval
tracks.red<- round_track_time(dat = tracks.red, id = "id", int = c(3600, 7200, 10800, 14400),
tol = 300, units = "secs")
#insert NA gaps
dat.out<- insert_NAs(tracks.red, int = 3600, units = "secs")