Como retirar duplicidades no R

Sempre que você trabalha com uma base de dados é importante saber se a base tem alguma duplicidade. 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)
Captura de Tela 2018-05-27 às 12.19.16

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

Captura de Tela 2018-05-27 às 12.17.06

Consolidado por Nome e UF

Captura de Tela 2018-05-27 às 12.17.19

Consolidado por UF

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

Bons estudos!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s