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

Arguments

a, b

The input strings

pairwise

Boolean. If TRUE, only the pairwise distances between a and b will be computed, rather than the combinations of all elements.

useNames

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