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).
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).
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:
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
sourceTimeseriesBase.ToolsArrays.ToolsArray Type
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.
TimeseriesBase.ToolsArrays.ToolsDimension Type
ToolsDimensionA union of all Dimension types that fall within the scope of TimeseriesBase. Analogous to DimensionalData.Dimension for dispatch purposes.
See also
sourceTimeseriesBase.ToolsArrays.ToolsDim Type
ToolsDim{T}An abstract type for custom macro-defined dimensions in TimeseriesBase. Analogous to DimensionalData.Dimension for the purposes of DimensionalData.@dim.
Examples
DimensionalData.@dim MyDim ToolsDim "My dimension" # Defines a new `ToolsDim <: ToolsDimension`See also
sourceMissing 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
𝑓A DimensionalData.jl dimension representing the frequency domain.
sourceMissing 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
VarA DimensionalData.jl dimension representing the variables of a multivariate time series.
sourceMissing docstring.
Missing docstring for Obs. Check Documenter's build log for details.