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:

Examples




#loading data
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]