Como remover dados duplicados em R

Uma aplicação muito útil de subsetting de dados é encontrar e remover valores duplicados. R tem uma função útil, duplicado (), que encontra valores duplicados e retorna um vetor lógico que indica se o valor específico é uma duplicata de um valor anterior. Isto significa que, para valores duplicados, duplicado () retornos FALSO para a primeira ocorrência e VERDADE para cada ocorrência seguinte do que o valor, como no exemplo que se segue:

> Duplicado (c (1,2,1,3,1,4)) [1] false false false Verdadeiro Falso VERDADEIRO

Se você tentar isso em um quadro de dados, R verifica automaticamente as observações (sentido, ele trata cada linha como um valor). Assim, por exemplo, com a trama de dados íris:

> Duplicado (íris) [1] false false false false false false false false false [10] false false false false false false false false false .... [136] false false false false false false FALSO FALSO VERDADEIRO [145] FALSE FALSE false false false false

Se você olhar com cuidado, você percebe que linha 143 é uma duplicata (porque o elemento 143 do seu resultado tem o valor VERDADE). Você também pode dizer isso usando o qual() função:

> Que (duplicado (íris)) [1] 143

Agora, para remover o duplicado a partir de íris, você precisa excluir esta linha a partir de seus dados. Lembre-se que existem duas formas de excluir dados utilizando subsetting:

  • Especificar um vector de lógica, onde FALSO significa que o elemento irá ser excluída. o ! (Ponto de exclamação) operador é uma negação lógica. Isto significa que ele converte VERDADE para dentro FALSO e vice versa. Assim, para remover os duplicados de íris, você faça o seguinte:

    > Iris [! duplicados (íris),]
  • Especifique valores negativos. Em outras palavras:

> index lt; - que (duplicados (íris))> Iris [-Index,]

Em ambos os casos, você vai perceber que a sua instrução removeu linha 143.

menu