Skip to content

Arrays and dimensions

TimeseriesTools extends DimensionalData.jl with a custom array type, ToolsArray, and a set of canonical ToolsDimensions. The motivation is dispatch-friendliness: a ToolsArray whose first or last dimension is a ToolsDimension is preserved across operations that would otherwise drop the DimArray wrapper (e.g. eachcol, slicing, rebuilding).

julia
using TimeseriesTools
x = Timeseries(rand(10), 1:10)
x isa AbstractToolsArray, x isa AbstractTimeseries
(true, true)

A ToolsArray behaves like a DimensionalData.DimArray in most respects.

Canonical dimensions

The exported ToolsDimensions are spatial axes (𝑥, 𝑦, 𝑧), time (𝑡), frequency (𝑓, Log𝑓, Log10𝑓), generic-variable (Var), and observation (Obs).

julia
y = Timeseries(rand(10, 3), 𝑡(0.0:0.1:0.9), Var(1:3))
dims(y)
(𝑡 Sampled{Float64} 0.0:0.1:0.9 ForwardOrdered Regular Points,
Var Sampled{Int64} 1:3 ForwardOrdered Regular Points)

To define another ToolsDimension:

julia
using DimensionalData
DimensionalData.@dim NewDim ToolsDim "NameOfNewDim"

Functions operating on a ToolsArray without a ToolsDimension as the first or last dimension may not return a ToolsArray; be careful with the DimensionalData.Dim{:name} syntax in that position.

Reference

TimeseriesBase.ToolsArrays.AbstractToolsArray Type

A local type to avoid overloading and piracy issues with DimensionalData.jl

source
TimeseriesBase.ToolsArrays.ToolsArray Type
julia
ToolsArray(f::Function, dim::Dimension; [name])

Apply function f across the values of the dimension dim (using broadcast), and return the result as a dimensional array with the given dimension. Optionally provide a name for the result.

source
TimeseriesBase.ToolsArrays.ToolsDimension Type
julia
ToolsDimension

A union of all Dimension types that fall within the scope of TimeseriesBase. Analogous to DimensionalData.Dimension for dispatch purposes.

See also

source
TimeseriesBase.ToolsArrays.ToolsDim Type
julia
ToolsDim{T}

An abstract type for custom macro-defined dimensions in TimeseriesBase. Analogous to DimensionalData.Dimension for the purposes of DimensionalData.@dim.

Examples

julia
DimensionalData.@dim MyDim ToolsDim "My dimension" # Defines a new `ToolsDim <: ToolsDimension`

See also

source

Missing docstring.

Missing docstring for 𝑡. Check Documenter's build log for details.

Missing docstring.

Missing docstring for 𝑥. Check Documenter's build log for details.

Missing docstring.

Missing docstring for 𝑦. Check Documenter's build log for details.

Missing docstring.

Missing docstring for 𝑧. Check Documenter's build log for details.

TimeseriesBase.ToolsArrays.𝑓 Type
julia
𝑓

A DimensionalData.jl dimension representing the frequency domain.

source

Missing docstring.

Missing docstring for Log𝑓. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Log10𝑓. Check Documenter's build log for details.

TimeseriesBase.ToolsArrays.Var Type
julia
Var

A DimensionalData.jl dimension representing the variables of a multivariate time series.

source

Missing docstring.

Missing docstring for Obs. Check Documenter's build log for details.