Linear interpolation of time series data. The intended use of this method
is for filling in missing pupil samples (NAs) in the time series. This method
uses "na.approx()" function from the zoo package, which implements linear
interpolation using the "approx()" function from the stats package.
Currently, NAs at the beginning and the end of the data are replaced with
values on either end, respectively, using the "rule = 2" argument in the
approx()
function.
Arguments
- eyeris
An object of class
eyeris
derived fromload_asc()
- verbose
A flag to indicate whether to print detailed logging messages. Defaults to
TRUE
. Set toFALSE
to suppress messages about the current processing step and run silently- call_info
A list of call information and parameters. If not provided, it will be generated from the function call
Details
This function is automatically called by glassbox()
by default. Use
glassbox(interpolate = FALSE)
to disable this step as needed.
Users should prefer using glassbox()
rather than invoking this function
directly unless they have a specific reason to customize the pipeline
manually.
Note
This function is part of the glassbox()
preprocessing pipeline and is not
intended for direct use in most cases. Use glassbox(interpolate = TRUE)
.
Advanced users may call it directly if needed.
See also
glassbox()
for the recommended way to run this step as
part of the full eyeris glassbox preprocessing pipeline.
Examples
demo_data <- eyelink_asc_demo_dataset()
demo_data |>
# set to FALSE to skip (not recommended)
eyeris::glassbox(interpolate = TRUE) |>
plot(seed = 0)
#> ✔ [ OK ] - Running eyeris::load_asc()
#> ℹ [ INFO ] - Processing block: block_1
#> ✔ [ OK ] - Running eyeris::deblink() for block_1
#> ✔ [ OK ] - Running eyeris::detransient() for block_1
#> ✔ [ OK ] - Running eyeris::interpolate() for block_1
#> ✔ [ OK ] - Running eyeris::lpfilt() for block_1
#> ! [ SKIP ] - Skipping eyeris::downsample() for block_1
#> ! [ SKIP ] - Skipping eyeris::bin() for block_1
#> ! [ SKIP ] - Skipping eyeris::detrend() for block_1
#> ✔ [ OK ] - Running eyeris::zscore() for block_1
#>
#> Block processing summary:
#> block_1: OK (steps: 6, latest: pupil_raw_deblink_detransient_interpolate_lpfilt_z)
#>
#> ✔ [ OK ] - Running eyeris::summarize_confounds()
#> ! [ INFO ] - Plotting block 1 from possible blocks: 1
#> ℹ [ INFO ] - Plotting with sampling rate: 1000 Hz