Uses stringdist::stringdistmatrix() to compute a range of string distance metrics.

lev_distance(a, b, pairwise = TRUE, useNames = TRUE, ...)

## Arguments

a The input strings The input strings Boolean. If TRUE, only the pairwise distances between a and b will be computed, rather than the combinations of all elements. Boolean. Use input vectors as row and column names? Additional arguments to be passed to stringdist::stringdistmatrix() or stringdist::stringsimmatrix().

## Value

A numeric scalar, vector or matrix depending on the length of the inputs. See "Details".

## Details

This is a thin wrapper around stringdist::stringdistmatrix() and mainly exists to coerce the output into the simplest possible format (via lev_simplify_matrix()).

The function will return the simplest possible data structure permitted by the length of the inputs a and b. This will be a scalar if a and b are length 1, a vector if either (but not both) is length > 1, and a matrix otherwise.

## Other options

In addition to useNames stringdist::stringdistmatrix() provides a range of options to control the matching, which can be passed using .... Refer to the stringdist documentation for more information.

## Examples

lev_distance("Bilbo", "Frodo")
#> [1] 4

lev_distance("Bilbo", c("Frodo", "Merry"))
#> Frodo Merry
#>     4     5

lev_distance("Bilbo", c("Frodo", "Merry"), useNames = FALSE)
#> [1] 4 5

lev_distance(c("Bilbo", "Gandalf"), c("Frodo", "Merry"))
#> [1] 4 7