[R-br] Manipulação de String

Augusto Ribas ribas.aca em gmail.com
Quinta Dezembro 13 13:50:46 BRST 2012


#dados
x <- c("Eder David Borges da Silva","João Silva","Pedro Augusto Paulo")
#quebrando os nomes, resultado numa lista
lista<-strsplit(x," ")

#tamanho da lista
length(lista)
#tamanho do nome
length(lista[[1]])

#tres paste, dois dentro de um, colocando o nome com , dai o resto dos
nomes juntos
paste(paste(lista[[1]][length(lista[[1]])],",",collapse="",sep=""),paste(lista[[1]][1:(length(lista[[1]])-1)],collapse="
"),sep=" ")

#crie um vetor pra guardar os nomes
saida<-vector()

#um loop para repetir a atividade acima
for(i in 1:length(lista)) {
saida[i]<-paste(paste(lista[[i]][length(lista[[i]])],",",collapse="",sep=""),paste(lista[[i]][1:(length(lista[[i]])-1)],collapse="
"),sep=" ")
}

#os nomes reorganizados
saida

Ai, pra ir quebrando o galho enquanto os mestres não vem hehe.
Eu usei tres vezes o comando paste pra conseguir o resultado desejado,
mas deve ter jeito de isso ser mais simples.
Se for muito nome é melhor trocar o loop de for para um apply, so
transformar isso numa função.

Espero que ajude

Em 13 de dezembro de 2012 11:58, Eder David Borges da Silva
<eder em leg.ufpr.br> escreveu:
> Pessoal, peço ajuda aos mestres em manipulação de String... eu ainda não me
> acertei com isso.
> A duvida é simples:
> x <- c("Eder David Borges da Silva","João Silva","Pedro Augusto Paulo")
> gostaria de transformar estes nomes em formato "Americano" ficando:
> Silva, Eder David Borges da
> Silva, João
> Paulo, Pedro Augusto.
> Em síntese pegar oque esta depois do ultimo espaço, e colar com tudo que
> esta antes dele, separando isso por uma virgula.
> Já tentei algumas coisa, mas sempre me confundo nas expressões regulares.
> Alguma dica?
> Obrigado
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
> mínimo reproduzível.



-- 
Grato
Augusto C. A. Ribas

Site Pessoal: http://recologia.wordpress.com/
Lattes: http://lattes.cnpq.br/7355685961127056


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