Comment supprimer les données en double dans r

Une application très utile de sous-ensembles de données est de trouver et supprimer les valeurs en double. R comporte une fonction utile, dupliqué (), qui trouve des valeurs dupliquées et renvoie un vecteur logique qui vous indique si la valeur spécifique est un duplicata d'une valeur précédente. Cela signifie que pour des valeurs doubles, dupliqué () retours FAUX pour la première occurrence et VRAI pour chaque occurrence suivante de cette valeur, comme dans l'exemple suivant:

> Dupliqué (c (1,2,1,3,1,4)) [1] FAUX FAUX VRAI FAUX VRAI FAUX

Si vous essayez ceci sur une trame de données, R vérifie automatiquement les observations (sens, il traite chaque ligne comme une valeur). Ainsi, par exemple, avec la trame de données iris:

> Dupliqué (iris) [1] false false false false false false false false false [10] false false false false false false false false false .... [136] FAUX FAUX FAUX FAUX FAUX FAUX FAUX VRAI FAUX [145] FAUX FAUX FAUX FAUX FAUX FAUX



Si vous regardez attentivement, vous remarquerez que la ligne 143 est un duplicata (parce que l'élément 143e de votre résultat a la valeur VRAI). Vous pouvez aussi dire cela en utilisant le laquelle() fonction:

> Qui (dupliqué (iris)) [1] 143

Maintenant, pour supprimer le double de iris, vous avez besoin d'exclure cette ligne de vos données. Rappelez-vous qu'il ya deux façons d'exclure les données en utilisant subsetting:

  • Spécifiez un vecteur logique, où FAUX signifie que l'élément est exclu. La ! (point d'exclamation) est une négation logique. Cela signifie qu'il convertit VRAI en FAUX et vice versa. Donc, pour supprimer les doublons de iris, vous faites ce qui suit:

    > Iris [! Dupliqués (iris),]
  • Spécifiez des valeurs négatives. Autrement dit:

> Index lt; - qui (doubles (IRIS))> iris [-index,]

Dans les deux cas, vous remarquerez que votre instruction a supprimé la ligne 143.


» » » » Comment supprimer les données en double dans r