[R] How to apitalize leading letters & else of personal names?
Ben Bolker
bbolker at gmail.com
Wed Dec 15 16:07:08 CET 2010
RockO <rock.ouimet <at> gmail.com> writes:
>
>
> Dear R world,
>
> Do you know about a function that would capitalize in the correct manner
> first and family names?
> I found in the cwhmisc only the CapLeading function, but it just does not do
> the job, taking care only to capitalize the first letter of a word.
>
> I am looking for a function that would recognize " |'|Mc|-" and capitalize
> the first letter following these characters.
>
> An example:
> names<-c("jean-francois st-john","helene o'donnel", "joe mcintyre")
>
> Desired result:
>
> >"Jean-Francois St-John" "Helene O'Donnel" "Joe McIntyre"
This is pretty tricky. gsub() can do some pretty slick things,
including replace with capitalized versions, so you could probably
write a gsub string to capitalize letters appearing at the beginning
of words OR after non-alphabetic characters. (See the end of the
examples in ?gsub ...)
"McIntyre" represents
a whole other class of difficulty. Some Scots capitalize after "Mc",
others don't. And what about all the rules about capitalization (or not)
after de/du/van/von? What would you do with a Dutch name like "'t Hooft" ... ?
More information about the R-help
mailing list