The spelling problems are commonly dealt with by using some variant of the soundex algorithm. There is an R implementation in RecordLinkage package. Then you need to compare not the strings themselves but their "phonetic codes":
> soundex('Clenton') == soundex('Clinton')
[1] TRUE
UPDATE: There is also another way of determining if two words are "close" to each other - which is a "distance" is some sense between the words. One standard measure of the distances is the minimum amount of one-letter replacements, deletions and insertions needed to transform the first word into the second one. It is called Levenshtein distance. RecordLinkage as well as vwr package have the appropriate functions:
> levenshteinDist('Clinton', 'Clenton')
[1] 1
> vwr::levenshtein.distance('Clinton', 'Clenton')
Clenton
1
Then you can use the distances and consider the words "close" enough if the distance does not exceed some threshold.
UPDATE:
soundex
is also available in phonics package.