All Projects → christophsax → Tsbox

christophsax / Tsbox

tsbox: Class-Agnostic Time Series in R

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Tsbox

Nnet Ts
Neural network architecture for time series forecasting.
Stars: ✭ 103 (-9.65%)
Mutual labels:  time-series
Vulkan Samples
One stop solution for all Vulkan samples
Stars: ✭ 2,009 (+1662.28%)
Mutual labels:  graphics
Deep Learning Based Ecg Annotator
Annotation of ECG signals using deep learning, tensorflow’ Keras
Stars: ✭ 110 (-3.51%)
Mutual labels:  time-series
As
VCV Rack Modules
Stars: ✭ 104 (-8.77%)
Mutual labels:  graphics
Griddb
GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy.
Stars: ✭ 1,587 (+1292.11%)
Mutual labels:  time-series
Gsf
Grid Solutions Framework
Stars: ✭ 106 (-7.02%)
Mutual labels:  time-series
Deko3d
Homebrew low level graphics API for Nintendo Switch (Nvidia Tegra X1)
Stars: ✭ 103 (-9.65%)
Mutual labels:  graphics
Pytorch Gan Timeseries
GANs for time series generation in pytorch
Stars: ✭ 109 (-4.39%)
Mutual labels:  time-series
Carbon
Carbon is one of the components of Graphite, and is responsible for receiving metrics over the network and writing them down to disk using a storage backend.
Stars: ✭ 1,435 (+1158.77%)
Mutual labels:  time-series
Spittoon
🖼 Sequential-art comic-strip generator written in Ruby which uses RMagick (2005)
Stars: ✭ 109 (-4.39%)
Mutual labels:  graphics
Dmm
Deep Markov Models
Stars: ✭ 103 (-9.65%)
Mutual labels:  time-series
Time Series Forecasting With Python
A use-case focused tutorial for time series forecasting with python
Stars: ✭ 105 (-7.89%)
Mutual labels:  time-series
Prometheus
The Prometheus monitoring system and time series database.
Stars: ✭ 40,114 (+35087.72%)
Mutual labels:  time-series
Computational Graphics Thu 2018
Computational Graphics - THU Spring 2018
Stars: ✭ 104 (-8.77%)
Mutual labels:  graphics
Pyrate
A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.
Stars: ✭ 110 (-3.51%)
Mutual labels:  time-series
Pagebot
Scripted page layout framework for Python.
Stars: ✭ 103 (-9.65%)
Mutual labels:  graphics
Strategems.jl
Quantitative systematic trading strategy development and backtesting in Julia
Stars: ✭ 106 (-7.02%)
Mutual labels:  time-series
Bgrabitmap
📜 BGRABitmap graphics library made with Lazarus (Free Pascal).
Stars: ✭ 112 (-1.75%)
Mutual labels:  graphics
Tsmoothie
A python library for time-series smoothing and outlier detection in a vectorized way.
Stars: ✭ 109 (-4.39%)
Mutual labels:  time-series
2d Unity Experiments
A collection of visual Unity experiments with latest packages (URP, Shader Graph, Cinemachine, etc).
Stars: ✭ 107 (-6.14%)
Mutual labels:  graphics

tsbox: Class-Agnostic Time Series in R

Build Status Build status codecov CRAN_Status_Badge Downloads

The R ecosystem knows a vast number of time series standards. Instead of creating the ultimate 15th time series class, tsbox provides a set of tools that are agnostic towards the existing standards. The tools also allow you to handle time series as plain data frames, thus making it easy to deal with time series in a dplyr or data.table workflow.

See tsbox.help for the full documentation of the package.

To install the stable version from CRAN:

install.packages("tsbox")

To install the development version:

# install.packages("remotes")
remotes::install_github("christophsax/tsbox")

Convert everything to everything

tsbox is built around a set of converters, which convert time series stored as ts, xts, data.frame, data.table, tibble, zoo, tsibble, tibbletime, timeSeries, irts or tis to each other:

library(tsbox)
x.ts <- ts_c(fdeaths, mdeaths)
x.xts <- ts_xts(x.ts)
x.df <- ts_df(x.xts)
x.dt <- ts_dt(x.df)
x.tbl <- ts_tbl(x.dt)
x.zoo <- ts_zoo(x.tbl)
x.tsibble <- ts_tsibble(x.zoo)
x.tibbletime <- ts_tibbletime(x.tsibble)
x.timeSeries <- ts_timeSeries(x.tibbletime)
x.irts <- ts_irts(x.tibbletime)
x.tis <- ts_tis(x.irts)
all.equal(ts_ts(x.tis), x.ts)
#> [1] TRUE

Use same functions for time series classes

Because this works reliably, it is easy to write functions that work for all classes. So whether we want to smooth, scale, differentiate, chain, forecast, regularize or seasonally adjust a time series, we can use the same commands to whatever time series class at hand:

ts_trend(x.ts)
ts_pc(x.xts)
ts_pcy(x.df)
ts_lag(x.dt)

Time series of the world, unite!

A set of helper functions makes it easy to combine or align multiple time series of all classes:

# collect time series as multiple time series
ts_c(ts_dt(EuStockMarkets), AirPassengers)
ts_c(EuStockMarkets, mdeaths)

# combine time series to a new, single time series
ts_bind(ts_dt(mdeaths), AirPassengers)
ts_bind(ts_xts(AirPassengers), ts_tbl(mdeaths))

And plot just about everything

Plotting all kinds of classes and frequencies is as simple as it should be. And we finally get a legend!

ts_plot(ts_scale(ts_c(mdeaths, austres, AirPassengers, DAX = EuStockMarkets[ ,'DAX'])))

Cheatsheet

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].