[R-br] Manipulação de dados (strings)

Henrique Dallazuanna wwwhsd em gmail.com
Quinta Março 15 00:16:37 BRT 2012


Tente assim:

library(gsubfn)

foo <- function(x, ...) {
sprintf(gsub("^(\\w+)\\s+.*\\s+(\\w+$)", "\\1\\2%s", x),
              sapply(strapply(d$NOM_PESSOA, '\\s+(.)'),
                     function(.x)paste(head(.x, n = -1), collapse = '')))
}

sprintf('%s%s%s', foo(d$NOM_PESSOA), d$DTA_NASC_PESSOA,
foo(d$NOM_COMPLETO_MAE_PESSOA))

2012/3/14 Estevam Caixeta <estevamcaixeta em gmail.com>

> Boa noite, possuo um banco de dados com 3 variáveis:
> 1- Nome da Pessoa
> 2- Data de nascimento
> 3- Nome completo da mãe
>
> Uma melhor visão do banco pode ser dada assim:
>
>                          NOM_PESSOA
> DTA_NASC_PESSOA           NOM_COMPLETO_MAE_PESSOA
> 1      *A*NTONIO *D*O *N*ASCIMENTO VIEIRA                  17081968
>                 GENESIA *M*ARIA *D*O NASCIMENTO
> 2 ANTONIA* M*ARGARETE *R*OCHA *D*E ARAUJO        05091975
>          MARIA *D*A *A*SSUNCAO ROCHA
> 3          JOAO *P*EDRO *A*RAUJO VIEIRA                        06031998
>                 ANTONIA *M*ARGARETE *R*OCHA *D*E ARAUJO
> 4            ERICA *D*E *A*RAUJO *V*IEIRA
> 03112001                  ANTONIA *M*ARGARETE *R*OCHA *D*E ARAUJO
>
> o que eu gostaria de fazer é criar uma quarta variável com a seguinte
> característica: PrimeiroNomeÚltimoNome*IniciaisNomeDoMeio*
> DataNascPrimeiroNomeMaeUltimoNomeMae*IniciaisNomeDoMeioMa*e para poder
> identificar cada indivíduo, já que no meu banco real eu possuo muitos
> homônimos. Para exemplificar, utilizando os nomes acima fornecidos, eu
> gostaria de criar algo do tipo:
>
> 1  ANTONIOVIEIRA*DN*17081968GENESIANASCIMENTO*MD*
> 2  ANTONIAARAUJO*MR*D05091975MARIAROCHA*DA*
> 3 JOAOVIEIRA*PA*06031998ANTONIAARAUJO*MRD*
> 4 ERICAVIEIRA*DA*03112001ANTONIAARAUJO*MRD*
>
> Desde já agradeço.
>
> Estevam C.M. Teixeira
>
> PS: Coloquei a parte relacionada aos nomes do meio para tentar facilitar a
> visualização e compreensão do que eu gostaria de fazer
>
> _______________________________________________
> 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120315/d5b666fa/attachment.html>


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