Package: distantia 2.0.2

distantia: Advanced Toolset for Efficient Time Series Dissimilarity Analysis

Fast C++ implementation of Dynamic Time Warping for time series dissimilarity analysis, with applications in environmental monitoring and sensor data analysis, climate science, signal processing and pattern recognition, and financial data analysis. Built upon the ideas presented in Benito and Birks (2020) <doi:10.1111/ecog.04895>, provides tools for analyzing time series of varying lengths and structures, including irregular multivariate time series. Key features include individual variable contribution analysis, restricted permutation tests for statistical significance, and imputation of missing data via GAMs. Additionally, the package provides an ample set of tools to prepare and manage time series data.

Authors:Blas M. Benito [aut, cre, cph]

distantia_2.0.2.tar.gz
distantia_2.0.2.zip(r-4.5)distantia_2.0.2.zip(r-4.4)distantia_2.0.2.zip(r-4.3)
distantia_2.0.2.tgz(r-4.5-x86_64)distantia_2.0.2.tgz(r-4.5-arm64)distantia_2.0.2.tgz(r-4.4-x86_64)distantia_2.0.2.tgz(r-4.4-arm64)distantia_2.0.2.tgz(r-4.3-x86_64)distantia_2.0.2.tgz(r-4.3-arm64)
distantia_2.0.2.tar.gz(r-4.5-noble)distantia_2.0.2.tar.gz(r-4.4-noble)
distantia_2.0.2.tgz(r-4.4-emscripten)distantia_2.0.2.tgz(r-4.3-emscripten)
distantia.pdf |distantia.html
distantia/json (API)
NEWS

# Install 'distantia' in R:
install.packages('distantia', repos = c('https://blasbenito.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/blasbenito/distantia/issues

Pkgdown site:https://blasbenito.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
Datasets:

On CRAN:

Conda:

dissimilaritydynamic-time-warpinglock-steptime-seriescpp

5.73 score 23 stars 11 scripts 325 downloads 180 exports 18 dependencies

Last updated 1 months agofrom:c5598b7eec. Checks:5 OK, 7 NOTE. Indexed: yes.

TargetResultLatest binary
Doc / VignettesOKMar 21 2025
R-4.5-win-x86_64OKMar 21 2025
R-4.5-mac-x86_64OKMar 21 2025
R-4.5-mac-aarch64OKMar 21 2025
R-4.5-linux-x86_64OKMar 21 2025
R-4.4-win-x86_64NOTEMar 21 2025
R-4.4-mac-x86_64NOTEMar 21 2025
R-4.4-mac-aarch64NOTEMar 21 2025
R-4.4-linux-x86_64NOTEMar 21 2025
R-4.3-win-x86_64NOTEMar 21 2025
R-4.3-mac-x86_64NOTEMar 21 2025
R-4.3-mac-aarch64NOTEMar 21 2025

Exports:auto_distance_cppauto_sum_cppauto_sum_full_cppauto_sum_path_cppcolor_continuouscolor_discretecost_matrix_diagonal_cppcost_matrix_diagonal_weighted_cppcost_matrix_orthogonal_cppcost_path_cppcost_path_diagonal_bandwidth_cppcost_path_diagonal_cppcost_path_orthogonal_bandwidth_cppcost_path_orthogonal_cppcost_path_slotting_cppcost_path_sum_cppcost_path_trim_cppdistancedistance_bray_curtis_cppdistance_canberra_cppdistance_chebyshev_cppdistance_chi_cppdistance_cosine_cppdistance_euclidean_cppdistance_hamming_cppdistance_hellinger_cppdistance_jaccard_cppdistance_ls_cppdistance_manhattan_cppdistance_matrixdistance_matrix_cppdistance_russelrao_cppdistance_sorensen_cppdistantiadistantia_aggregatedistantia_boxplotdistantia_cluster_hclustdistantia_cluster_kmeansdistantia_dtwdistantia_dtw_plotdistantia_lsdistantia_matrixdistantia_model_framedistantia_spatialdistantia_statsdistantia_time_delayf_binaryf_clrf_detrend_differencef_detrend_linearf_detrend_polyf_hellingerf_listf_logf_percentf_proportionf_proportion_sqrtf_rescale_globalf_rescale_localf_scale_globalf_scale_localf_trend_linearf_trend_polyimportance_dtw_cppimportance_dtw_legacy_cppimportance_ls_cppmomentummomentum_aggregatemomentum_boxplotmomentum_dtwmomentum_lsmomentum_model_framemomentum_spatialmomentum_statsmomentum_to_widepermute_free_by_row_cpppermute_free_cpppermute_restricted_by_row_cpppermute_restricted_cpppsi_auto_distancepsi_auto_sumpsi_cost_matrixpsi_cost_pathpsi_cost_path_sumpsi_distance_lock_steppsi_distance_matrixpsi_dtw_cpppsi_equationpsi_equation_cpppsi_ls_cpppsi_null_dtw_cpppsi_null_ls_cppsubset_matrix_by_rows_cpptsl_aggregatetsl_bursttsl_colnames_cleantsl_colnames_gettsl_colnames_prefixtsl_colnames_settsl_colnames_suffixtsl_count_NAtsl_diagnosetsl_handle_NAtsl_Inf_to_NAtsl_inittsl_initializetsl_jointsl_names_cleantsl_names_gettsl_names_settsl_names_testtsl_NaN_to_NAtsl_ncoltsl_nrowtsl_plottsl_repairtsl_resampletsl_simulatetsl_smoothtsl_statstsl_subsettsl_timetsl_time_summarytsl_to_dftsl_transformutils_as_timeutils_block_sizeutils_boxplot_commonutils_check_args_distantiautils_check_args_matrixutils_check_args_momentumutils_check_args_pathutils_check_args_tslutils_check_args_zooutils_check_distance_argsutils_check_list_classutils_clean_namesutils_cluster_hclust_optimizerutils_cluster_kmeans_optimizerutils_cluster_silhouetteutils_coerce_time_classutils_color_breaksutils_digitsutils_distantia_df_splitutils_drop_geometryutils_global_scaling_paramsutils_is_timeutils_line_colorutils_line_guideutils_matrix_guideutils_matrix_plotutils_new_timeutils_new_time_typeutils_optimize_loessutils_optimize_splineutils_prepare_dfutils_prepare_matrixutils_prepare_matrix_listutils_prepare_timeutils_prepare_vector_listutils_prepare_zoo_listutils_rescale_vectorutils_time_keywordsutils_time_keywords_dictionaryutils_time_keywords_translateutils_time_unitsutils_tsl_pairszoo_aggregatezoo_name_cleanzoo_name_getzoo_name_setzoo_permutezoo_plotzoo_resamplezoo_simulatezoo_smooth_exponentialzoo_smooth_windowzoo_timezoo_to_tslzoo_vector_to_matrix

Dependencies:codetoolscpp11digestdoFutureforeachfuturefuture.applygenericsglobalsiteratorslatticelistenvlubridateparallellyprogressrRcpptimechangezoo

Readme and manuals

Help Manual

Help pageTopics
Flight Path Time Series of Albatrosses in The Pacificalbatross
(C++) Sum Distances Between Consecutive Samples in a Time Seriesauto_distance_cpp
(C++) Sum Distances Between Consecutive Samples in Two Time Seriesauto_sum_cpp
(C++) Sum Distances Between All Consecutive Samples in Two Time Seriesauto_sum_full_cpp
(C++) Sum Distances Between All Consecutive Samples in the Least Cost Path Between Two Time Seriesauto_sum_path_cpp
Coordinates of 100 Major Citiescities_coordinates
Long Term Monthly Temperature in 20 Major Citiescities_temperature
Default Continuous Color Palettecolor_continuous
Default Discrete Color Palettescolor_discrete
(C++) Compute Orthogonal and Diagonal Least Cost Matrix from a Distance Matrixcost_matrix_diagonal_cpp
(C++) Compute Orthogonal and Weighted Diagonal Least Cost Matrix from a Distance Matrixcost_matrix_diagonal_weighted_cpp
(C++) Compute Orthogonal Least Cost Matrix from a Distance Matrixcost_matrix_orthogonal_cpp
Least Cost Pathcost_path_cpp
(C++) Orthogonal and Diagonal Least Cost Path Restricted by Sakoe-Chiba bandcost_path_diagonal_bandwidth_cpp
(C++) Orthogonal and Diagonal Least Cost Pathcost_path_diagonal_cpp
(C++) Orthogonal Least Cost Pathcost_path_orthogonal_bandwidth_cpp
(C++) Orthogonal Least Cost Pathcost_path_orthogonal_cpp
(C++) Least Cost Path for Sequence Slottingcost_path_slotting_cpp
(C++) Sum Distances in a Least Cost Pathcost_path_sum_cpp
(C++) Remove Blocks from a Least Cost Pathcost_path_trim_cpp
County Coordinates of the Covid Prevalence Datasetcovid_counties
Time Series of Covid Prevalence in California Countiescovid_prevalence
Distance Between Two Numeric Vectorsdistance
(C++) Bray-Curtis Distance Between Two Vectorsdistance_bray_curtis_cpp
(C++) Canberra Distance Between Two Binary Vectorsdistance_canberra_cpp
(C++) Chebyshev Distance Between Two Vectorsdistance_chebyshev_cpp
(C++) Normalized Chi Distance Between Two Vectorsdistance_chi_cpp
(C++) Cosine Dissimilarity Between Two Vectorsdistance_cosine_cpp
(C++) Euclidean Distance Between Two Vectorsdistance_euclidean_cpp
(C++) Hamming Distance Between Two Binary Vectorsdistance_hamming_cpp
(C++) Hellinger Distance Between Two Vectorsdistance_hellinger_cpp
(C++) Jaccard Distance Between Two Binary Vectorsdistance_jaccard_cpp
(C++) Sum of Pairwise Distances Between Cases in Two Aligned Time Seriesdistance_ls_cpp
(C++) Manhattan Distance Between Two Vectorsdistance_manhattan_cpp
Data Frame to Distance Matrixdistance_matrix
(C++) Distance Matrix of Two Time Seriesdistance_matrix_cpp
(C++) Russell-Rao Distance Between Two Binary Vectorsdistance_russelrao_cpp
(C++) Sørensen Distance Between Two Binary Vectorsdistance_sorensen_cpp
Distance Methodsdistances
Dissimilarity Analysis of Time Series Listsdistantia
Aggregate 'distantia()' Data Frames Across Parameter Combinationsdistantia_aggregate
Distantia Boxplotdistantia_boxplot
Hierarchical Clustering of Dissimilarity Analysis Data Framesdistantia_cluster_hclust
K-Means Clustering of Dissimilarity Analysis Data Framesdistantia_cluster_kmeans
Dynamic Time Warping Dissimilarity Analysis of Time Series Listsdistantia_dtw
Two-Way Dissimilarity Plots of Time Series Listsdistantia_dtw_plot
Lock-Step Dissimilarity Analysis of Time Series Listsdistantia_ls
Convert Dissimilarity Analysis Data Frame to Distance Matrixdistantia_matrix
Dissimilarity Model Framedistantia_model_frame
Spatial Representation of 'distantia()' Data Framesdistantia_spatial
Stats of Dissimilarity Data Framedistantia_stats
Time Shift Between Time Seriesdistantia_time_delay
Site Coordinates of Nine Interglacial Sites in Central Europeeemian_coordinates
Pollen Counts of Nine Interglacial Sites in Central Europeeemian_pollen
Transform Zoo Object to Binaryf_binary
Data Transformation: Rowwise Centered Log-Ratiof_clr
Data Transformation: Detrending and Differencingf_detrend_difference
Data Transformation: Linear Detrending of Zoo Time Seriesf_detrend_linear
Data Transformation: Polynomial Linear Detrending of Zoo Time Seriesf_detrend_poly
Data Transformation: Rowwise Hellinger Transformationf_hellinger
Lists Available Transformation Functionsf_list
Data Transformation: Logf_log
Data Transformation: Rowwise Percentagesf_percent
Data Transformation: Rowwise Proportionsf_proportion
Data Transformation: Rowwise Square Root of Proportionsf_proportion_sqrt
Data Transformation: Global Rescaling of to a New Rangef_rescale_global
Data Transformation: Local Rescaling of to a New Rangef_rescale_local
Data Transformation: Global Centering and Scalingf_scale_global
Data Transformation: Local Centering and Scalingf_scale_local
Data Transformation: Linear Trend of Zoo Time Seriesf_trend_linear
Data Transformation: Polynomial Linear Trend of Zoo Time Seriesf_trend_poly
Site Coordinates of Fagus sylvatica Standsfagus_coordinates
Time Series Data from Three Fagus sylvatica Standsfagus_dynamics
Rainfall and Temperature in The Americashoneycomb_climate
Hexagonal Gridhoneycomb_polygons
(C++) Contribution of Individual Variables to the Dissimilarity Between Two Time Series (Robust Version)importance_dtw_cpp
(C++) Contribution of Individual Variables to the Dissimilarity Between Two Time Series (Legacy Version)importance_dtw_legacy_cpp
(C++) Contribution of Individual Variables to the Dissimilarity Between Two Aligned Time Seriesimportance_ls_cpp
Contribution of Individual Variables to Time Series Dissimilaritymomentum
Aggregate 'momentum()' Data Frames Across Parameter Combinationsmomentum_aggregate
Momentum Boxplotmomentum_boxplot
Dynamic Time Warping Variable Importance Analysis of Multivariate Time Series Listsmomentum_dtw
Lock-Step Variable Importance Analysis of Multivariate Time Series Listsmomentum_ls
Dissimilarity Model Framemomentum_model_frame
Spatial Representation of 'momentum()' Data Framesmomentum_spatial
Stats of Dissimilarity Data Framemomentum_stats
Momentum Data Frame to Wide Formatmomentum_to_wide
(C++) Unrestricted Permutation of Complete Rowspermute_free_by_row_cpp
(C++) Unrestricted Permutation of Casespermute_free_cpp
(C++) Restricted Permutation of Complete Rows Within Blockspermute_restricted_by_row_cpp
(C++) Restricted Permutation of Cases Within Blockspermute_restricted_cpp
Cumulative Sum of Distances Between Consecutive Cases in a Time Seriespsi_auto_distance
Auto Sumpsi_auto_sum
Cost Matrixpsi_cost_matrix
Least Cost Pathpsi_cost_path
Sum of Distances in Least Cost Pathpsi_cost_path_sum
Lock-Step Distancepsi_distance_lock_step
Distance Matrixpsi_distance_matrix
(C++) Psi Dissimilarity Score of Two Time-Seriespsi_dtw_cpp
Normalized Dissimilarity Scorepsi_equation
(C++) Equation of the Psi Dissimilarity Scorepsi_equation_cpp
(C++) Psi Dissimilarity Score of Two Aligned Time Seriespsi_ls_cpp
(C++) Null Distribution of Dissimilarity Scores of Two Time Seriespsi_null_dtw_cpp
(C++) Null Distribution of the Dissimilarity Scores of Two Aligned Time Seriespsi_null_ls_cpp
(C++) Subset Matrix by Rowssubset_matrix_by_rows_cpp
Aggregate Time Series List Over Time Periodstsl_aggregate
Multivariate TSL to Univariate TSLtsl_burst
Clean Column Names in Time Series Liststsl_colnames_clean
Get Column Names from a Time Series Liststsl_colnames_get
Append Prefix to Column Names of Time Series Listtsl_colnames_prefix
Set Column Names in Time Series Liststsl_colnames_set
Append Suffix to Column Names of Time Series Listtsl_colnames_suffix
Count NA Cases in Time Series Liststsl_count_NA
Diagnose Issues in Time Series Liststsl_diagnose
Handle NA Cases in Time Series Liststsl_handle_NA tsl_Inf_to_NA tsl_NaN_to_NA
Transform Raw Time Series Data to Time Series Listtsl_init tsl_initialize
Join Time Series Liststsl_join
Clean Time Series Names in a Time Series Listtsl_names_clean
Get Time Series Names from a Time Series Liststsl_names_get
Set Time Series Names in a Time Series Listtsl_names_set
Tests Naming Issues in Time Series Liststsl_names_test
Get Number of Columns in Time Series Liststsl_ncol
Get Number of Rows in Time Series Liststsl_nrow
Plot Time Series Listtsl_plot
Repair Issues in Time Series Liststsl_repair
Resample Time Series Lists to a New Timetsl_resample
Simulate a Time Series Listtsl_simulate
Smoothing of Time Series Liststsl_smooth
Summary Statistics of Time Series Liststsl_stats
Subset Time Series Lists by Time Series Names, Time, and/or Column Namestsl_subset
Time Features of Time Series Liststsl_time tsl_time_summary
Transform Time Series List to Data Frametsl_to_df
Transform Values in Time Series Liststsl_transform
Ensures Correct Class for Time Argumentsutils_as_time
Default Block Size for Restricted Permutation in Dissimilarity Analysesutils_block_size
Common Boxplot Component of 'distantia_boxplot()' and 'momentum_boxplot()'utils_boxplot_common
Check Input Arguments of 'distantia()'utils_check_args_distantia
Checks Input Matrixutils_check_args_matrix
Check Input Arguments of 'momentum()'utils_check_args_momentum
Checks Least Cost Pathutils_check_args_path
Structural Check for Time Series Listsutils_check_args_tsl
Checks Argument xutils_check_args_zoo
Check Distance Argumentutils_check_distance_args
Checks Classes of List Elements Against Expectationutils_check_list_class
Clean Character Vector of Namesutils_clean_names
Optimize the Silhouette Width of Hierarchical Clustering Solutionsutils_cluster_hclust_optimizer
Optimize the Silhouette Width of K-Means Clustering Solutionsutils_cluster_kmeans_optimizer
Compute Silhouette Width of a Clustering Solutionutils_cluster_silhouette
Coerces Vector to a Given Time Classutils_coerce_time_class
Auto Breaks for Matrix Plotting Functionsutils_color_breaks
Number of Decimal Placesutils_digits
Split Dissimilarity Analysis Data Frames by Combinations of Argumentsutils_distantia_df_split
Removes Geometry Column from SF Data Framesutils_drop_geometry
Global Centering and Scaling Parameters of Time Series Listsutils_global_scaling_params
Titleutils_is_time
Handles Line Colors for Sequence Plotsutils_line_color
Guide for Time Series Plotsutils_line_guide
Color Guide for Matrix Plotutils_matrix_guide
Plot Distance or Cost Matrix and Least Cost Pathutils_matrix_plot
New Time for Time Series Aggregationutils_new_time utils_new_time_type
Optimize Loess Models for Time Series Resamplingutils_optimize_loess
Optimize Spline Models for Time Series Resamplingutils_optimize_spline
Convert Data Frame to a List of Data Framesutils_prepare_df
Convert Matrix to Data Frameutils_prepare_matrix
Convert List of Matrices to List of Data Framesutils_prepare_matrix_list
Handles Time Column in a List of Data Framesutils_prepare_time
Convert List of Vectors to List of Data Framesutils_prepare_vector_list
Convert List of Data Frames to List of Zoo Objectsutils_prepare_zoo_list
Rescale Numeric Vector to a New Data Rangeutils_rescale_vector
Valid Aggregation Keywordsutils_time_keywords
Dictionary of Time Keywordsutils_time_keywords_dictionary
Translates The User's Time Keywords Into Valid Onesutils_time_keywords_translate
Data Frame with Supported Time Unitsutils_time_units
Data Frame with Pairs of Time Series in Time Series Listsutils_tsl_pairs
Aggregate Cases in Zoo Time Serieszoo_aggregate
Clean Name of a Zoo Time Serieszoo_name_clean
Get Name of a Zoo Time Serieszoo_name_get
Set Name of a Zoo Time Serieszoo_name_set
Random or Restricted Permutation of Zoo Time Serieszoo_permute
Plot Zoo Time Serieszoo_plot
Resample Zoo Objects to a New Timezoo_resample
Simulate a Zoo Time Serieszoo_simulate
Exponential Smoothing of Zoo Time Serieszoo_smooth_exponential
Rolling Window Smoothing of Zoo Time Serieszoo_smooth_window
Get Time Features from Zoo Objectszoo_time
Convert Individual Zoo Objects to Time Series Listzoo_to_tsl
Coerce Coredata of Univariate Zoo Time Series to Matrixzoo_vector_to_matrix