(C++) Sum Distances Between Consecutive Samples in Two Time Series
Source:R/RcppExports.R
auto_sum_cpp.Rd
Sum of auto-distances of two time series.
This function switches between auto_sum_full_cpp()
and auto_sum_path_cpp()
depending on the value of the argument ignore_blocks
.
Arguments
- x
(required, numeric matrix) of same number of columns as 'y'.
- y
(required, numeric matrix) of same number of columns as 'x'.
- path
(required, data frame) output of
cost_path_orthogonal_cpp()
.- distance
(optional, character string) distance name from the "names" column of the dataset
distances
(seedistances$name
). Default: "euclidean"- ignore_blocks
(optional, logical). If TRUE, blocks of consecutive path coordinates are trimmed to avoid inflating the psi distance. Default: FALSE.
See also
Other Rcpp_auto_sum:
auto_distance_cpp()
,
auto_sum_full_cpp()
,
auto_sum_path_cpp()
,
subset_matrix_by_rows_cpp()
Examples
#simulate two time series
x <- zoo_simulate(seed = 1)
y <- zoo_simulate(seed = 2)
#distance matrix
dist_matrix <- distance_matrix_cpp(
x = x,
y = y,
distance = "euclidean"
)
#least cost matrix
cost_matrix <- cost_matrix_orthogonal_cpp(
dist_matrix = dist_matrix
)
#least cost path
cost_path <- cost_path_orthogonal_cpp(
dist_matrix = dist_matrix,
cost_matrix = cost_matrix
)
nrow(cost_path)
#> [1] 199
#remove blocks from least-cost path
cost_path_trimmed <- cost_path_trim_cpp(
path = cost_path
)
nrow(cost_path_trimmed)
#> [1] 29
#auto sum
auto_sum_cpp(
x = x,
y = y,
path = cost_path_trimmed,
distance = "euclidean",
ignore_blocks = FALSE
)
#> [1] 17.12273