{"id":16276562,"url":"https://github.com/hendersontrent/theftdlc","last_synced_at":"2025-03-20T01:32:09.644Z","repository":{"id":223986303,"uuid":"762060139","full_name":"hendersontrent/theftdlc","owner":"hendersontrent","description":"Analyse and interpret time-series features calculated from the theft R package","archived":false,"fork":false,"pushed_at":"2024-10-04T08:54:01.000Z","size":12344,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-05T07:15:04.129Z","etag":null,"topics":["data-science","data-visualization","machine-learning","r","statistics","time-series"],"latest_commit_sha":null,"homepage":"https://hendersontrent.github.io/theftdlc/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","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":"LICENSE","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}},"created_at":"2024-02-23T02:13:16.000Z","updated_at":"2024-10-04T13:20:31.000Z","dependencies_parsed_at":"2024-03-18T07:39:08.084Z","dependency_job_id":null,"html_url":"https://github.com/hendersontrent/theftdlc","commit_stats":null,"previous_names":["hendersontrent/thefttools","hendersontrent/theftdlc"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2Ftheftdlc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2Ftheftdlc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2Ftheftdlc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendersontrent%2Ftheftdlc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hendersontrent","download_url":"https://codeload.github.com/hendersontrent/theftdlc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219865983,"owners_count":16555922,"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":["data-science","data-visualization","machine-learning","r","statistics","time-series"],"created_at":"2024-10-10T18:48:57.190Z","updated_at":"2024-10-10T18:48:57.781Z","avatar_url":"https://github.com/hendersontrent.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: rmarkdown::github_document\n---\n\n# theftdlc \u003cimg src=\"man/figures/logo.png\" align=\"right\" width=\"120\" /\u003e\n[![CRAN version](https://www.r-pkg.org/badges/version/theftdlc)](https://www.r-pkg.org/pkg/theftdlc)\n[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/theftdlc)](https://www.r-pkg.org/pkg/theftdlc)\n\nAnalyse and Interpret Time Series Features\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\ncomment = NA, fig.width = 14, fig.height = 10, cache = FALSE)\n```\n\n## Installation\n\nYou can install the stable version of `theftdlc` from CRAN:\n\n```{r eval = FALSE}\ninstall.packages(\"theftdlc\")\n```\n\nYou can install the development version of `theftdlc` from GitHub using the following:\n\n```{r eval = FALSE}\ndevtools::install_github(\"hendersontrent/theftdlc\")\n```\n\n## General purpose\n\nThe [`theft`](https://hendersontrent.github.io/theft/) package for R facilitates user-friendly access to a structured analytical workflow for the extraction of time-series features from six different feature sets (or a set of user-supplied features): `\"catch22\"`, `\"feasts\"`, `\"Kats\"`, `\"tsfeatures\"`, `\"tsfresh\"`, and `\"TSFEL\"`.\n\n`theftdlc` extends this feature-based ecosystem by providing a suite of functions for analysing, interpreting, and visualising time-series features calculated using `theft`. Functionality including data quality assessments and normalisation methods, low dimensional projections (linear and nonlinear), data matrix and feature distribution visualisations, time-series classification machine learning procedures, statistical hypothesis testing, and various other statistical and graphical tools.\n\n\u003cimg src=\"man/figures/theft-packages.png\" width=\"400\" height=\"200\" alt=\"Hex stickers of the theft and theftdlc packages for R\" /\u003e\n\nA high-level overview of how the `theft` ecosystem for R is typically accessed by users is shown below. Many more functions and options for customisation are available within the packages.\n\n\u003cimg src=\"man/figures/theft-ecosystem.png\" width=\"900\" alt=\"Schematic of the theft ecosystem in R\" /\u003e\n\n### What's in a name?\n\n`theftdlc` means 'downloadable content' (DLC) for `theft`---just like you get [DLCs and expansions](https://en.bandainamcoent.eu/elden-ring/elden-ring/shadow-of-the-erdtree) for video games.\n\n## Quick tour\n\n`theft` and `theftdlc` combine to create an intuitive and efficient tidy feature-based workflow. Here is an example of a single code chunk that calculates features using [`catch22`](https://github.com/hendersontrent/Rcatch22) and a custom set of mean and standard deviation, and projects the feature space into an interpretable two-dimensional space using principal components analysis:\n\n```{r, message = FALSE, warning = FALSE, fig.height=6, fig.width=6}\nlibrary(dplyr)\nlibrary(theft)\nlibrary(theftdlc)\n\ncalculate_features(data = theft::simData, \n                   group_var = \"process\", \n                   feature_set = \"catch22\",\n                   features = list(\"mean\" = mean, \"sd\" = sd)) %\u003e%\n  project(norm_method = \"RobustSigmoid\",\n          unit_int = TRUE,\n          low_dim_method = \"PCA\") %\u003e%\n  plot()\n```\n\nIn that example, `calculate_features` comes from `theft`, while `project` and the `plot` generic come from `theftdlc`.\n\nSimilarly, we can perform time-series classification using a similar simple workflow to compare the performance of `catch22` against our custom set of the first two moments of the distribution:\n\n```{r, message = FALSE, warning = FALSE}\ncalculate_features(data = theft::simData, \n                   group_var = \"process\", \n                   feature_set = \"catch22\",\n                   features = list(\"mean\" = mean, \"sd\" = sd)) %\u003e%\n  classify(by_set = TRUE,\n           n_resamples = 5,\n           use_null = TRUE) %\u003e%\n  compare_features(by_set = TRUE,\n                   hypothesis = \"null\") %\u003e%\n  head()\n```\n\nIn this example, `classify` and `compare_features` come from `theftdlc`. \n\nPlease see the vignette for more information and the full functionality of both packages.\n\n## Citation\n\nIf you use `theft` or `theftdlc` in your own work, please cite both the paper:\n\nT. Henderson and Ben D. Fulcher. [Feature-Based Time-Series Analysis in R using the theft Package](https://arxiv.org/abs/2208.06146). arXiv, (2022).\n\nand the software:\n\n```{r, echo = FALSE}\ncitation(\"theft\")\ncitation(\"theftdlc\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendersontrent%2Ftheftdlc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhendersontrent%2Ftheftdlc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendersontrent%2Ftheftdlc/lists"}