1. #1
    Membre à l'essai
    Inscrit en
    septembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 21
    Points : 18
    Points
    18

    Par défaut aggregation et comptage d'occurence

    Bonjour,

    Je cherche à établir un tableau de synthèse regroupant des clients, avec des sites et des consommations selon 8 régions distincts. En résumé, je cherche à faire un tableau croisé de ce type :

    Nom : tableau.PNG
Affichages : 69
Taille : 15,9 Ko

    Pour ce faire mon jeux de données est le suivant :
    Nom : JEUX.PNG
Affichages : 65
Taille : 46,1 Ko


    J'ai réussi a agréger les consommations avec aggregate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # ----- le fichier SOURCES contient les données 
    syntèse_regionale<-aggregate(data.frame(conso_totale=SOURCES$CONSOMMATION_REALISEE), by = list(DCR=SOURCES$UNITE_COMMERCIALE,Client=SOURCES$REFERENCE_CLIENT),sum)
    j'ai ce résultat :

    Nom : result.PNG
Affichages : 64
Taille : 15,1 Ko

    Mon problème est que je n'arrive pas à faire le comptage des occurrences clients et de leurs sites par région.

    Quelqu'un à une idée comment je pourrai faire ?

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    janvier 2012
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2012
    Messages : 318
    Points : 870
    Points
    870

    Par défaut

    Avec aggregate, il suffit d'utiliser la fonction length.

  3. #3
    Membre à l'essai
    Inscrit en
    septembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 21
    Points : 18
    Points
    18

    Par défaut

    ok mais comment je l'insère dans mon code ? j'ai essayé mais R mouline et ne me donne pas de résultat (ou plutôt je l'ai arrêté au bout de 20 min). je pense que je lui rentre un mauvais argument mais je coince...

    Peux-tu me donner au moins la structure de l'expression ? après je me débrouille...

    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    janvier 2012
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2012
    Messages : 318
    Points : 870
    Points
    870

    Par défaut

    Tu reprends exactement le code que tu as posté en remplaçant "sum" par "length".

  5. #5
    Membre à l'essai
    Inscrit en
    septembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 21
    Points : 18
    Points
    18

    Par défaut Cela ne fonctionne pas...

    Je clos le post mais le code ne fonctionne pas. la console mouline et ne restitue rien. merci quand même

  6. #6
    Membre averti
    Inscrit en
    février 2011
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 160
    Points : 332
    Points
    332

    Par défaut

    Bonjour,

    le package dplyr devrait pouvoir t'aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    library(dplyr)
    SOURCES %>% group_by(UNITE_COMMERCIALE) %>%
      summarise(Nclient = n_distinct(REFERENCE_CLIENT), N_site = n_distinct(IDENTIFIANT_SITE), Conso = sum(CONSOMMATION_REALISEE))
    Avec Nclient tu comptes le nombre de client distinct, ce qui veut dire que si le même client est présent deux fois il ne sera compté qu'une fois. Si tu veux compter le nombre de fois ou des clients reviennent, il te faut faut faire length(REFERENCE_CLIENT) à la place. Pareil pour le nombre de site, tu comptes ici le nombre de sites distincts.

    cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/08/2014, 16h11
  2. Comptage du nombre de ligne contenant une occurence
    Par ninsekh dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 27/07/2010, 14h16
  3. [VBA-E] Comptage du nombre d'occurences
    Par kdestine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/09/2007, 10h16
  4. [SimpleJava] Algo de comptage d'occurences
    Par KoVaTcH dans le forum Général Java
    Réponses: 8
    Dernier message: 15/11/2005, 04h01
  5. Comptage d'occurences dans un fichier
    Par bonjour69 dans le forum Réseau
    Réponses: 25
    Dernier message: 11/11/2005, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo