
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@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@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