[R-br] Colocar identificar único em registros repetidos

Rodrigo Coster rcoster em gmail.com
Domingo Fevereiro 28 12:43:21 BRT 2016


Wagner,

Uma solução é criar um novo data.frame() só com as variáveis que
identificam os registros, tirar os repetidos com o unique(), acrescentar o
ID e juntar com merge():

dados <- read.table(text='Registro;Nome ;Nome Mãe ;Data Nascimento
1;João;Maria;1976-09-08
2;Manuel;Selma;1988-03-10
3;João;Maria;1976-09-08
4;João;Maria;1976-09-08
5;Ricardo;Sonia;1990-05-12
6;Marcelo;Marta;1987-08-06
7;Ricardo;Sonia;1990-05-12
8;João;Maria;1976-09-08
9;Ricardo;Sonia;1990-05-12
10;Marcelo;Marta;1987-08-06', sep = ';', header = TRUE)

dadosApoio <- unique(subset(dados, select = c(Nome, Nome.Mãe,
Data.Nascimento)))
dadosApoio$ID <- 1:nrow(dadosApoio)

dados <- merge(dados, dadosApoio)
dados


2016-02-28 11:23 GMT-03:00 Wagner Tassinari <wtassinari em gmail.com>:

> Olá pessoal,
>
> Tenho um banco com registros repetidos por linha e gostaria de colocar o
> mesmo identificador (contador) para os registros que são repetidos baseado
> em alguns atributos. Por exemplo, se o existirem 4 registros com o mesmo
> nome, nome da mãe e data de nascimento, o identificador será o mesmo.
>
> Segue um exemplo do meu banco de dados:
>
> Registro Nome Nome Mãe Data Nascimento
> 1 João Maria 1976-09-08
> 2 Manuel Selma 1988-03-10
> 3 João Maria 1976-09-08
> 4 João Maria 1976-09-08
> 5 Ricardo Sonia 1990-05-12
> 6 Marcelo Marta 1987-08-06
> 7 Ricardo Sonia 1990-05-12
> 8 João Maria 1976-09-08
> 9 Ricardo Sonia 1990-05-12
> 10 Marcelo Marta 1987-08-06
> Gostaria obter esse banco com o identificador ID:
>
> Registro ID Nome Nome Mãe Data Nascimento
> 1 1 João Maria 1976-09-08
> 2 2 João Selma 1988-03-10
> 3 1 João Maria 1976-09-08
> 4 1 João Maria 1976-09-08
> 5 3 Ricardo Sonia 1990-05-12
> 6 4 Marcelo Marta 1987-08-06
> 7 3 Ricardo Sonia 1990-05-12
> 8 1 João Maria 1976-09-08
> 9 3 Ricardo Sonia 1990-05-12
> 10 4 Marcelo Marta 1987-08-06
>
> Muito obrigado a todos,
> --
> Wagner S. Tassinari
> Departamento de Matemática
> Universidade Federal Rural do Rio de Janeiro.
> BR-465, Km 7 - Seropedica, RJ - Brasil
> CEP: 23890-000
> Skype: wagner.tassinari
> wtassinari em gmail.com
> tassinari em ufrrj.br
> -------------------------------------------------------
> "Statistical thinking will one day be as necessary for efficient
> citizenship as the ability to read and write."  (H.G.Wellis)
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160228/e64c0a75/attachment.html>


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