leastCostPath {distantia} R Documentation

## Find the least cost path in a least cost matrix.

### Description

Uses the original distance matrix created by distanceMatrix and the least cost path matrix created by leastCostMatrix to find the least cost path between the first and the last cells of the matrix. If diagonal was TRUE in leastCostMatrix, then it must be TRUE when using this function. Otherwise, the default is FALSE in both.

### Usage

leastCostPath(
distance.matrix = NULL,
least.cost.matrix = NULL,
diagonal = FALSE,
parallel.execution = TRUE
)


### Arguments

 distance.matrix numeric matrix or list of numeric matrices, a distance matrix produced by distanceMatrix. least.cost.matrix numeric matrix or list of numeric matrices produced by leastCostMatrix. diagonal boolean, if TRUE, diagonals are included in the computation of the least cost path. Defaults to FALSE, as the original algorithm did not include diagonals in the computation of the least cost path. parallel.execution boolean, if TRUE (default), execution is parallelized, and serialized if FALSE.

### Value

Alist of dataframes if least.cost.matrix is a list, or a dataframe if least.cost.matrix is a matrix. The dataframe/s have the following columns:

• A row/sample of one of the sequences.

• B row/sample of one the other sequence.

• distance distance between both samples, extracted from distance.matrix.

• cumulative.distance cumulative distance at the samples A and B.

### Examples



data(sequenceA)
data(sequenceB)

#preparing datasets
AB.sequences <- prepareSequences(
sequence.A = sequenceA,
sequence.A.name = "A",
sequence.B = sequenceB,
sequence.B.name = "B",
merge.mode = "complete",
if.empty.cases = "zero",
transformation = "hellinger"
)

#computing distance matrix
AB.distance.matrix <- distanceMatrix(
sequences = AB.sequences,
grouping.column = "id",
method = "manhattan",
parallel.execution = FALSE
)

#computing least cost matrix
AB.least.cost.matrix <- leastCostMatrix(
distance.matrix = AB.distance.matrix,
diagonal = FALSE,
parallel.execution = FALSE
)

AB.least.cost.path <- leastCostPath(
distance.matrix = AB.distance.matrix,
least.cost.matrix = AB.least.cost.matrix,
parallel.execution = FALSE
)

#plot
plotMatrix(distance.matrix = AB.distance.matrix,
least.cost.path = AB.least.cost.path,
)



[Package distantia version 1.0.2 Index]