{"id":13571242,"url":"https://github.com/hendersontrent/Rcatch22","last_synced_at":"2025-04-04T08:30:30.663Z","repository":{"id":37928590,"uuid":"353530083","full_name":"hendersontrent/Rcatch22","owner":"hendersontrent","description":"R package for calculation of 22 CAnonical Time-series CHaracteristics","archived":false,"fork":false,"pushed_at":"2024-10-03T00:20:54.000Z","size":5367,"stargazers_count":22,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T07:06:45.533Z","etag":null,"topics":["machine-learning","r","time-series"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hendersontrent.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-01T00:49:47.000Z","updated_at":"2024-10-03T00:20:58.000Z","dependencies_parsed_at":"2024-12-24T07:13:15.409Z","dependency_job_id":"77498051-f3e5-445e-bc87-029c1057c068","html_url":"https://github.com/hendersontrent/Rcatch22","commit_stats":{"total_commits":78,"total_committers":6,"mean_commits":13.0,"dds":0.6538461538461539,"last_synced_commit":"5d6a870267f7b1262caa5cb2e49b5438e8e972ee"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2FRcatch22","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2FRcatch22/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2FRcatch22/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2FRcatch22/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hendersontrent","download_url":"https://codeload.github.com/hendersontrent/Rcatch22/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247146717,"owners_count":20891549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","r","time-series"],"created_at":"2024-08-01T14:01:00.133Z","updated_at":"2025-04-04T08:30:30.033Z","avatar_url":"https://github.com/hendersontrent.png","language":"C","funding_links":[],"categories":["📦 Packages"],"sub_categories":["R"],"readme":"---\noutput: rmarkdown::github_document\n---\n\n# Rcatch22 \u003cimg src=\"man/figures/logo.png\" align=\"right\" width=\"120\" /\u003e\n\n[![CRAN version](https://www.r-pkg.org/badges/version/Rcatch22)](https://www.r-pkg.org/pkg/Rcatch22)\n[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/Rcatch22)](https://www.r-pkg.org/pkg/Rcatch22)\n[![DOI](https://zenodo.org/badge/353530083.svg)](https://zenodo.org/badge/latestdoi/353530083)\n\nR package for the calculation of [22 CAnonical Time-series CHaracteristics](https://github.com/DynamicsAndNeuralSystems/catch22). The package is an efficient implementation that calculates time-series features coded in C.\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\ncomment = NA, fig.width = 7, fig.height = 5, cache = FALSE)\n```\n\n## Installation\n\nYou can install the stable version of `Rcatch22` from CRAN using the following:\n\n```{r eval = FALSE}\ninstall.packages(\"Rcatch22\")\n```\n\nYou can install the development version of `Rcatch22` from GitHub using the following:\n\n```{r eval = FALSE}\ndevtools::install_github(\"hendersontrent/Rcatch22\")\n```\n\nYou might also be interested in a related R package called [`theft`](https://github.com/hendersontrent/theft) (Tools for Handling Extraction of Features from Time series) which provides standardised access to `Rcatch22` and 5 other feature sets (including 3 feature sets from Python libraries) for a total of ~1,200 features. `theft` also includes extensive functionality for processing and analysing time-series features, including automatic time-series classification, top performing feature identification, and a range of statistical data visualisations.\n\n## Wiki\n\nPlease open the included vignette within an R environment or visit the detailed [`Rcatch22` Wiki](https://time-series-features.gitbook.io/catch22/r) for information and tutorials.\n\n## Computational performance\n\nWith features coded in C, `Rcatch22` is highly computationally efficient, scaling nearly linearly with time-series size. Computation time in seconds for a range of time series lengths is presented below.\n\n```{r, message = FALSE, warning = FALSE, echo = FALSE}\nlibrary(dplyr)\nlibrary(purrr)\nlibrary(ggplot2)\nlibrary(microbenchmark)\nlibrary(Rcatch22)\n\nset.seed(123)\nlengths \u003c- c(10^1, 10^2, 10^3, 10^4, 10^5)\n\ngenerate_sims \u003c- function(n){\n  \n  tmp \u003c- c(cumsum(rnorm(n, mean = 0, sd = 1)))\n  \n  sim \u003c- as.data.frame(summary(microbenchmark(catch22_all(tmp), times = 10, unit = \"s\"))) %\u003e%\n    dplyr::select(c(mean)) %\u003e%\n    mutate(ts_length = n)\n  \n  return(sim)\n}\n\nsims \u003c- lengths %\u003e%\n  purrr::map_df(~ generate_sims(n = .x))\n```\n\n```{r, message = FALSE, warning = FALSE, echo = FALSE, fig.keep = TRUE}\n# Draw graphic\n\nsims %\u003e%\n  ggplot() +\n  geom_smooth(aes(x = ts_length, y = mean), formula = y ~ x, method = \"lm\", \n              se = FALSE, size = 1.15, colour = \"#1f78b4\") +\n  geom_point(aes(x = ts_length, y = mean), size = 3.5, colour = \"#1f78b4\") +\n  labs(x = \"Time series length\",\n       y = \"Computation time (s)\") +\n  scale_x_log10(limits = c(1e1, 1e5),\n                breaks = scales::trans_breaks(\"log10\", function(x) 10^x),\n                labels = scales::trans_format(\"log10\", scales::math_format(10^.x))) +\n  scale_y_log10(breaks = scales::trans_breaks(\"log10\", function(x) 10^x),\n                labels = scales::trans_format(\"log10\", scales::math_format(10^.x))) +\n  theme_bw() +\n  theme(panel.grid.minor = element_blank(),\n        legend.position = \"bottom\",\n        axis.text = element_text(size = 12))\n```\n\n## catch24\n\nAn option to include the mean and standard deviation as features in addition to `catch22` is available through setting the `catch24` argument to `TRUE`:\n\n```{r, eval = FALSE}\nfeatures \u003c- catch22_all(x, catch24 = TRUE)\n```\n\n## Citation\n\nA DOI is provided at the top of this README. Alternatively, the package can be cited using the following:\n\n```{r, echo = FALSE}\ncitation(\"Rcatch22\")\n```\n\nPlease also cite the original *catch22* paper:\n\n* [Lubba et al. (2019). catch22: CAnonical Time-series CHaracteristics.](https://link.springer.com/article/10.1007/s10618-019-00647-x/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendersontrent%2FRcatch22","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhendersontrent%2FRcatch22","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendersontrent%2FRcatch22/lists"}