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      ANTONIO DO NASCIMENTO VIEIRA                  17081968                       GENESIA MARIA DO NASCIMENTO
2 ANTONIA MARGARETE ROCHA DE ARAUJO        05091975                          MARIA DA ASSUNCAO ROCHA
3          JOAO PEDRO ARAUJO VIEIRA                        06031998                   ANTONIA MARGARETE ROCHA DE ARAUJO
4            ERICA DE ARAUJO VIEIRA                             03112001                  ANTONIA MARGARETE ROCHA DE ARAUJO

o que eu gostaria de fazer é criar uma quarta variável com a seguinte característica: PrimeiroNomeÚltimoNomeIniciaisNomeDoMeioDataNascPrimeiroNomeMaeUltimoNomeMaeIniciaisNomeDoMeioMae 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  ANTONIOVIEIRADN17081968GENESIANASCIMENTOMD
2  ANTONIAARAUJOMRD05091975MARIAROCHADA
3 JOAOVIEIRAPA06031998ANTONIAARAUJOMRD
4 ERICAVIEIRADA03112001ANTONIAARAUJOMRD

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