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 :

Calculer une moyenne pondérée en fonction de groupes


Sujet :

R

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 35
    Points : 34
    Points
    34
    Par défaut Calculer une moyenne pondérée en fonction de groupes
    Bonjour,
    J'ai un jeu de données constitué de 3 colonnes. La première est le nom des produits, la seconde est le prix et la troisième est le nombre de produits.
    Donc un jeu de données comme celui-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Produit	Prix	Quantité
    a	10	100
    a	20	120
    a	10	 50
    b	25	3
    b	14	90
    c	30	100
    c	25	 58
    c	5	 69
    c	5	 23

    Je voudrais calculer la moyenne du prix pondéré à la quantité pour chaque produit. Je voudrais passer à un tableau comme celui-là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Produit	Prix	Quantité
    a	 25	 250
    b	30	 300
    c	 20	 200

    J'ai essayé avec la fonction apply mais je n'y arrive pas.

    Merci beaucoup.

    PS : Je précise que les chiffres des tableaux sont faux.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Salut,

    Ceci devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tapply(seq_along(data$Prix),data$Produit,
    function(xx){return(weighted.mean(x=data$Prix[xx],w=data$Quantité[xx]))})

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 35
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup pour ta réponse, ça fonctionne !

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

Discussions similaires

  1. [XL-2003] Calculer une moyenne en fonction du mois
    Par Abdellatif008 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/01/2012, 18h54
  2. Réponses: 2
    Dernier message: 16/02/2011, 14h59
  3. calcul d'une moyenne pondérée
    Par monsdo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2010, 22h33
  4. [MySQL] Calcul d'une moyenne pondérée
    Par BertMont dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/06/2007, 09h49
  5. Calcul d'une moyenne pondérée
    Par solorac dans le forum Excel
    Réponses: 1
    Dernier message: 21/05/2007, 16h54

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