Accueil > Astuces... > Rechercher et visualiser les doublons

R

Rechercher et visualiser les doublons

mercredi 27 février 2013
Mis à jour le lundi 4 mars 2013

Pour identifier des données dupliquées dans R, on a usuellement recours à la fonction duplicated().

Or, la fonction duplicated() retourne les positions des lignes dupliquées, à partir de la seconde occurence de chaque ligne :

Si cela est fort utile pour supprimer les doublons (puisque seules les secondes occurrences sont identifiées), on peut avoir besoin d’identifier l’ensemble des lignes concernées (y compris donc les premières occurrences), si l’on souhaite par exemple visualiser les doublons, autrement dit d’avoir une fonction duplicated2() dont le résultat serait :

Merci au groupe des utilisateurs du logiciel R du CIRAD, voici la solution :

  1. duplicated2 <- function(x){
  2. if (sum(dup <- duplicated(x))==0)
  3. return(dup)
  4. if (class(x) %in% c("data.frame","matrix"))
  5. duplicated(rbind(x[dup,],x))[-(1:sum(dup))]
  6. else duplicated(c(x[dup],x))[-(1:sum(dup))]
  7. }

Télécharger

Voir en ligne : Forums du CIRAD où la solution a été postée

Commentaires

  • Le 23 juillet 2014 à 14:47, par Ondine

    Bonjour,
    J’ai un soucis que je n’arrive pas à résoudre, peut être avez-vous une solution...
    J’ai un tableau avec mes entrées d’espèces en ligne, et par colonne j’ai les stations, l’habitat, le numéro de quadrat, (etc...), le nom d’espèce, et les densités observées par quadrats.
    Le problème c’est que je me retrouve avec des doublons, c’est à dire des espèces qui ont été observées 2 fois dans le même quadrats, et avec pour chacune de ces ligne des densités différentes.
    Je souhaite donc
    - Faire un scan de ma DBB afin d’identifier les doublons
    - et fusionner ces lignes (c’est à dire additionner les densités observées)
    Le problème c’est que ma BDD est amenée à grossir au cours du temps, il faut donc que ça soit un script en routine.
    Voyez-vous comment faire ?

    Un grand merci par avance !!
    Ondine

    • Le 1er août 2014 à 11:36, par Joseph LARMARANGE

      Bonjour,

      vous évoquez une base de données. Quel gestionnaire de base de données utilisez-vous ? Vous traitez les données dans R ?

      Répondre à ce message

Répondre à cet article

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Retour haut de page
Site réalisé avec SPIP | Plan du site | Contact | Crédits | Mentions Légales | Suivre la vie du site RSS 2.0
Habillage visuel © Larma par Joseph Larmarange sous Licence Creative Commons Attribution 2.5 License