[R] How to apitalize leading letters & else of personal names?
David Winsemius
dwinsemius at comcast.net
Wed Dec 15 19:17:13 CET 2010
On Dec 14, 2010, at 9:00 PM, RockO wrote:
>
> 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"
Here are four individually crafted gsub functions that could be
serially applied:
> gsub("^([a-z])", "\\U\\1", names, perl=TRUE)
[1] "Jean-francois st-john" "Helene o'donnel" "Joe mcintyre"
> gsub(" ([a-z])", " \\U\\1", names, perl=TRUE)
[1] "jean-francois St-john" "helene O'donnel" "joe Mcintyre"
> gsub("\\-([a-z])", "-\\U\\1", names, perl=TRUE)
[1] "jean-Francois st-John" "helene o'donnel" "joe mcintyre"
> gsub("\\'([a-z])", "'\\U\\1", names, perl=TRUE)
[1] "jean-francois st-john" "helene o'Donnel" "joe mcintyre"
> t2 <- gsub("^([a-z])", "\\U\\1", names, perl=TRUE)
> t2 <- gsub(" ([a-z])", " \\U\\1", t2, perl=TRUE)
> t2 <- gsub("\\-([a-z])", "-\\U\\1", t2, perl=TRUE)
> t2 <- gsub("\\'([a-z])", "'\\U\\1", t2, perl=TRUE)
> t2
[1] "Jean-Francois St-John" "Helene O'Donnel" "Joe Mcintyre"
Oooops forgot the mc:
> gsub("Mc([a-z])", "Mc\\U\\1", t2, perl=TRUE)
[1] "Jean-Francois St-John" "Helene O'Donnel" "Joe McIntyre"
--
David.
>
> Thanks,
>
> Rock
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/How-to-apitalize-leading-letters-else-of-personal-names-tp3088336p3088336.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list