Provides the Roger Root name coding system

rogerroot(word, maxCodeLen = 5, clean = TRUE)

Arguments

word

string or vector of strings to encode

maxCodeLen

maximum length of the resulting encodings, in characters

clean

if TRUE, return NA for unknown alphabetical characters

Value

the Roger Root encoded character vector

Details

The rogerroot function phentically encodes the given string using the Roger Root algorithm. The variable word is a string or vector of strings to encode.

The variable maxCodeLen is the limit on how long the returned code should be. The default is 5.

The rogerroot algorithm is only defined for inputs over the standard English alphabet, i.e., "A-Z.". Non-alphabetical characters are removed from the string in a locale-dependent fashion. This strips spaces, hyphens, and numbers. Other letters, such as "Ü," may be permissible in the current locale but are unknown to rogerroot. For inputs outside of its known range, the output is undefined and NA is returned and a warning this thrown. If clean is FALSE, rogerroot attempts to process the strings. The default is TRUE.

References

James P. Howard, II, "Phonetic Spelling Algorithm Implementations for R," Journal of Statistical Software, vol. 25, no. 8, (2020), p. 1--21, <10.18637/jss.v095.i08>.

Robert L. Taft, Name search techniques, Bureau of Systems Development, Albany, New York, 1970.

See also

Other phonics: caverphone(), cologne(), lein(), metaphone(), mra_encode(), nysiis(), onca(), phonex(), phonics(), soundex(), statcan()

Examples

rogerroot("William")
#> [1] "45300"
rogerroot(c("Peter", "Peady"))
#> [1] "09140" "09100"
rogerroot("Stevenson")
#> [1] "00182"