IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

aggregation et comptage d'occurence


Sujet :

R

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Points : 20
    Points
    20
    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 : 4379
Taille : 15,9 Ko

    Pour ce faire mon jeux de données est le suivant :
    Nom : JEUX.PNG
Affichages : 4387
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 : 4276
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
    325
    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 : 325
    Points : 888
    Points
    888
    Par défaut
    Avec aggregate, il suffit d'utiliser la fonction length.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Points : 20
    Points
    20
    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
    325
    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 : 325
    Points : 888
    Points
    888
    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
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Points : 20
    Points
    20
    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 confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    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