[R-br] Separa primeiro e último nome

Walmes Zeviani walmeszeviani em gmail.com
Sexta Outubro 26 17:15:01 BRST 2012


Tem sim, tudo depende do padrão apresentado. Todos os nomes são compostos
por 3 partes? Bem, á pra usar a função strsplit() e quebrar no espaço em
branco, o resultado é uma lista. Um probleminha surge com nomes que tem
"da", "do", "das", "dos", "de" (da Silva, dos Santos, de Oliveira, do
Nascimento, das Flores), mas pode ser revolvido. Veja

nomes <- c("Antonio Teixeira Batista",
           "Suellen Cristina Albuquerque",
           "Paulo Matias dos Santos")

# separa pelo espaço
x1 <- strsplit(nomes, split=" ")
x1

# junta o meio
sapply(x1,
       function(i){
         n <- length(i)
         c(i[1], paste(i[2:(n-1)], collapse=" "), i[n])
       })

À disposição.
Walmes.

==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes em ufpr.br
skype: walmeszeviani
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121026/da795aec/attachment.html>


Mais detalhes sobre a lista de discussão R-br