tsl_repair: Repair Issues in Time Series Lists

View source: R/tsl_repair.R

tsl_repairR Documentation

Repair Issues in Time Series Lists

Description

A Time Series List (tsl for short) is a list of zoo time series. This type of object, not defined as a class, is used throughout the distantia package to contain time series data ready for processing and analysis.

The structure and values of a tsl must fulfill several general conditions:

Structure:

  • The list names match the attributes "name" of the zoo time series

  • All zoo time series must have at least one shared column name.

  • Data in univariate zoo time series (as extracted by zoo::coredata(x)) must be of the class "matrix". Univariate zoo time series are often represented as vectors, but this breaks several subsetting and transformation operations implemented in this package.

Values (optional, when full = TRUE):

  • All time series have at least one shared numeric column.

  • There are no NA, Inf, or NaN values in the time series.

This function analyzes a tsl, and tries to fix all possible issues to make it comply with the conditions listed above without any user input. Use with care, as it might defile your data.

Usage

tsl_repair(tsl = NULL, full = TRUE)

Arguments

tsl

(required, list) Time series list. Default: NULL

full

(optional, logical) If TRUE, a full repair (structure and values) is triggered. Otherwise, only the data structure is repaired Default: TRUE

Value

time series list

See Also

Other tsl_management: tsl_burst(), tsl_colnames_clean(), tsl_colnames_get(), tsl_colnames_prefix(), tsl_colnames_set(), tsl_colnames_suffix(), tsl_count_NA(), tsl_diagnose(), tsl_handle_NA(), tsl_join(), tsl_names_clean(), tsl_names_get(), tsl_names_set(), tsl_names_test(), tsl_ncol(), tsl_nrow(), tsl_subset(), tsl_time(), tsl_to_df()

Examples

#creating three zoo time series

#one with NA values
x <- zoo_simulate(
  name = "x",
  cols = 1,
  na_fraction = 0.1
  )

#with different number of columns
#wit repeated name
y <- zoo_simulate(
  name = "x",
  cols = 2
  )

#with different time class
z <- zoo_simulate(
  name = "z",
  cols = 1,
  time_range = c(1, 100)
  )

#adding a few structural issues

#changing the column name of x
colnames(x) <- c("b")

#converting z to vector
z <- zoo::zoo(
  x = runif(nrow(z)),
  order.by = zoo::index(z)
)

#storing zoo objects in a list
#with mismatched names
tsl <- list(
  a = x,
  b = y,
  c = z
)

#running full diagnose
tsl_diagnose(
  tsl = tsl,
  full = TRUE
  )

tsl <- tsl_repair(tsl)

distantia documentation built on April 4, 2025, 5:42 a.m.