Como retirar duplicidades no R

Sempre que você trabalha com um conjunto de dados é importante saber se ele tem alguma duplicidade. I.e., se algum elemento aparece mais de uma vez, sendo que não deveria. No R, a função mais trivial para retirar duplicidade na sua tabela, vetor, data frame, é a unique(). Essa função retira a duplicidade por completo, veja dois exemplos com os vetores x e y criados abaixo:

x = c(10,20,12,12,10,11,30)
unique(x)
[1] 10 20 12 11 30

y = c("a","b","c","d","e","f","a","b","d","e")
unique(y)
[1] "a" "b" "c" "d" "e" "f"

Não se esqueçam que as linhas ‘[1] 10 20 12…’ e ‘[1] “a” “b” “c” “d” “e” “f”‘ são apenas a s saídas do código, não é necessário copiar.

E se você estiver tratando várias colunas ao mesmo tempo? Bom, nesse caso, o R vai tirar a duplicidade verificando se todas as colunas de determinada linha são iguais. No exemplo abaixo, há uma tabela de exemplo contendo todas as compras de determinados clientes de uma loja. Você desconfia que seu funcionário se enganou e inseriu algumas contas mais de uma vez. Para garantir que não tenhamos duplicidade, vamos utilizar a função unique():

### Constroi uma tabela de exemplo
tabela_exemplo = data.frame(c("Andre", "Marcos", "Fernanda", "Julia", "Maria", "Maria", "Jose", "Andre"),
c("BA", "RJ", "RJ", "RS", "SP", "SP", "SP", "BA"),
c(5,8,9,15,32,32,5,5))
colnames(tabela_exemplo) = c("Nome", "UF","Valor")

### Verifica a tabela
View(tabela_exemplo)
# ou
head(tabela_exemplo)
# ou
tail(tabela_exemplo)

### Tira duplicidade por todos os campos
unique(tabela_exemplo)
### se quiser salvar a tabela sem duplicidades
tabela_exemplo_unica <- unique(tabela_exemplo

Claro que pode acontecer dos dados terem sido inseridos corretamente. Mesmo assim, você quer consolidar os valores por cada cliente. Para agrupar as informações de valor, você pode usar a função ddply() do pacote plyr:

# carrega pacote
library('plyr')
# consolida valor por cliente
ddply(tabela_exemplo,~Nome+UF,summarise,total_valor=sum(Valor))
# consolida valor por UF
ddply(tabela_exemplo,~UF,summarise,total_valor=sum(Valor))

Consolidado por Nome e UF

Agora você está pronto para trabalhar com seus dados na visão que preferir.

E aí, curtiu o post?

E aí? Gostou do conteúdo? Se inscreva para receber todas as novidades. Deixe seu e-mail em INSCREVA-SE na barra à direita, logo abaixo de pesquisar. E, por favor, não deixe de comentar, dar seu feedback e, principalmente, compartilhar com seus amigos. De verdade, isso faz toda a diferença. Além disso, você também pode acompanhar mais do meu trabalho seguindo a conta de Twitter @UniDosDados, no Instagram @universidadedosdados ou por alguma das redes que você encontra em Sobre o Estatsite / Contato, como meu canal de Youtube Canal Universidade dos Dados.

Aproveite e adquira sua camiseta de data science na LOJA DA UNIVERSIDADE DOS DADOS. Vai ficar estiloso e me ajudar neste projeto!

BONS ESTUDOS!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *