Time handlers are subset of pems.utils
functions that
work on or with time records (time.stamp
and
local.time
).
regularize(data, Hz=1, method=1, ...)repairLocalTime(data, local.time, ref, ..., reset.count = TRUE,
fun.name = "repairLocalTime")
regularize
returns the supplied dataset (data
) with time-series
(time.stamp
and local.time
) are regularized at the
requestion time resolution, based on Hz
value. It uses
approx
or data binning to estimate associated changes for other
data-series.
repairLocalTime
returns a repaired local.time
pem.element
, typically the supplied local.time
with
any holes (NAs
) it can fill filled.
(Required, typically pems
) The dataset to be worked with.
For regularize
, the dataset to regularize (see below).
(For regularize
) (Required numeric) The time resolution to
regularize the data to in Hertz. So, the default, Hz=1
is
one measurement (or row of data) per second.
(For regularize
) (Required numeric) The regularization method
to apply. The default, method=1
uses approx
to linearly
interpolate regular time-series for all supplied time-series. The
alternative method=2
uses a bin-and-average strategy.
(Optional) Other arguments, typically passed on.
(For repairLocalTime
) (Required pems.element) The
local.time
pems.element
to work been repaired.
(For repairLocalTime
) (Other arguments) ref
is
a second source that local.time can be inferred from in cases
where local.time
records are missing. If TRUE
,
reset.count
resets local.time
so it starts at 0.
(character
) (pems
handler) argument used by
pems.utils
. These can typically be ignored.
Karl Ropkins
regularize
attempts to extrapolate a regular series, generated at the
time resolution requested, from the supplied data
. Both methods can
be used for the regularization of irregularly time-logged data, but differ
in their data handling. Method 1
estimates measurements at regular
intervals by linearly interpolating between the last valid point and the next
valid point in supplied time-series. It therefore hole-fills gaps in
time-series and is perhaps best suited for use with sparser data-sets. It
can also be used to interolate time-series to higher time-resolutions, but
should not be used aggressively, e.g. to convert 1Hz data data to 10Hz. By
contrast, method 2
uses data binning to aggregate all supplied
measurements (e.g. all measurements between -0.5 and +0.5 seconds of requested
times when returning 1 Hz data) and (mean) average these. It is better suited
for use with higher resolution time-series (e.g. gong from about 10Hz to 1Hz)
and does not hole-fill empty time intervals. If you want mean binning and
hole-filling, apply method 2 then method 1, e.g.:
new.data <- regularize(regularize(my.data, method=2), method=1)
repairLocalTime
attempts to repair an incomplete local.time
record. For example, if you merge two datasets with overlapping but
different time ranges, one may not track the time range of the other and
this can generate incomplete time records. This function attempts to
hole-fill such cases.
regularize(..., method=1)
uses approx
:
Base R Stats package function based on Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
A lot of leg-work testing regularize
was done by then Leeds
MSc Student Adrian Felipe Ortega Calle.
approx
regarding data regularization methods.