Learn R Programming

phonics (version 1.4.0)

nysiis: New York State Identification and Intelligence System

Description

The NYSIIS phonetic algorithm

Usage

nysiis(word, maxCodeLen = 6, modified = FALSE, clean = TRUE)

Value

the NYSIIS encoded character vector

Arguments

word

string or vector of strings to encode

maxCodeLen

maximum length of the resulting encodings, in characters

modified

if TRUE, use the modified NYSIIS algorithm

clean

if TRUE, return NA for unknown alphabetical characters

Details

The nysiis function implements the original NYSIIS character scan described by Taft and the USDA modified scan documented by Lynch and Arends.

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

Set modified = TRUE for the USDA variant. That publication classifies names ending in JR or SR as errors; this function warns and returns NA for those inputs.

The nysiis 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 nysiis. For inputs outside of its known range, the output is undefined and NA is returned and a warning is issued. If clean is FALSE, nysiis 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. 95, 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.

Billy T. Lynch and William L. Arends, Selection of a Surname Coding Procedure for the SRS Record Linkage System, United States Department of Agriculture, 1977, Appendix B.

See Also

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

Examples

Run this code
nysiis("Robert")
nysiis("rupert")
nysiis(c("Alabama", "Alaska"), modified = TRUE)
nysiis("mississippi", 4)

Run the code above in your browser using DataLab