DoubleMetaphone converts strings to double metaphone phonetic codes.
DoubleMetaphone(str)A character vector whose strings are to be encoded by double metaphone algorithm.
Returns a list with two character vectors of the same length as the input vector. The first character vector contains the primary double metaphone encodings, while the second character vector contains the alternate encodings.
An implementation of the Double Metaphone phonetic algorithm in R. If
non-ASCII characters encountered in the input character vector str, a
warning is issued and they are transliterated so that the accented characters
are converted to their ASCII unaccented versions.
In case of non-ASCII characters in strings, a warning is issued and accented characters are converted to their ASCII unaccented versions.
The C code for the double metaphone
  algorithm was adapted from Maurice Aubrey's perl module hosted at the
  gitpan/Text-DoubleMetaphone
  public
   github library along with the corresponding
  license
   information.
Philips, Lawrence. 2000. "The Double Metaphone Search Algorithm." C/C++ Users Journal 18 (6): 38-43. https://dl.acm.org/doi/10.5555/349124.349132.
# Return the primary and secondary Double Metaphone encodings for a character vector.
str1 <- c("Jyothi", "Jyoti")
str2 <- c("POLLACHI", "BOLLACHI")
DoubleMetaphone(str1)
#> $primary
#> [1] "J0" "JT"
#> 
#> $alternate
#> [1] "AT" "AT"
#> 
DoubleMetaphone(str2)
#> $primary
#> [1] "PLX" "PLX"
#> 
#> $alternate
#> [1] "PLK" "PLK"
#> 
if (FALSE) {
# Issue a warning in case of non-ASCII characters.
str3 <- c("J\xf5geva", "Jogeva")
DoubleMetaphone(str3) }