Moyenne sur lignes identiques

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Montana ROQUILLET
Messages : 22
Enregistré le : 24 Juil 2017, 06:39

Moyenne sur lignes identiques

Messagepar Montana ROQUILLET » 15 Jan 2019, 09:41

Bonjour,

J'ai deux variables, une contenant les identifiants acheteurs, l'autre contenant le montant de leurs commandes. Pour un même identifiant, j'ai plusieurs commandes, de ce fait j'ai plusieurs lignes avec le même identifiant, mais des montants différents.
Voilà ma question : je souhaiterais créer une nouvelle variable contenant le montant moyen pour chaque acheteur, comment faire ?

Merci de votre aide

Pierre-Yves Berrard
Messages : 650
Enregistré le : 12 Jan 2016, 23:30

Re: Moyenne sur lignes identiques

Messagepar Pierre-Yves Berrard » 15 Jan 2019, 10:17

Bonjour,

La nouvelle variable est à ajouter au data.frame initial ou fera partie d'un nouveau data.frame synthétique ?
PY

Montana ROQUILLET
Messages : 22
Enregistré le : 24 Juil 2017, 06:39

Re: Moyenne sur lignes identiques

Messagepar Montana ROQUILLET » 15 Jan 2019, 10:27

Bonjour,

Dans l'idéal à ajouter au data.frame initial.

Pierre-Yves Berrard
Messages : 650
Enregistré le : 12 Jan 2016, 23:30

Re: Moyenne sur lignes identiques

Messagepar Pierre-Yves Berrard » 15 Jan 2019, 10:34

Ça peut se faire élégamment avec le package dplyr :

Code : Tout sélectionner

library(dplyr)
donnees %>% group_by(id) %>% mutate(moy_montant = mean(montant))

Sans utiliser de package, on peut par exemple utiliser aggregate pour calculer les montants moyens par acheteur, qu'il faudra apparier avec le data.frame initial.

Code : Tout sélectionner

aggregate(data = donnees, montant ~ id, mean)
PY

Montana ROQUILLET
Messages : 22
Enregistré le : 24 Juil 2017, 06:39

Re: Moyenne sur lignes identiques

Messagepar Montana ROQUILLET » 15 Jan 2019, 12:18

Ah génial c'est tout à fait ce que je cherchais !

Merci beaucoup


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot] et 1 invité