Comment calculer la moyenne par groupe dans SAS



Vous pouvez utiliser les méthodes suivantes pour calculer la moyenne des valeurs par groupe dans SAS :

Méthode 1 : calculer la moyenne par un groupe

proc sql;
    select var1, mean(var2) as mean_var2
    from my_data
    group by var1;
quit;

Méthode 2 : calculer la moyenne par plusieurs groupes

proc sql;
    select var1, var2, mean(var3) as mean_var3
    from my_data
    group by var1, var2;
quit;

Les exemples suivants montrent comment utiliser chaque méthode avec l’ensemble de données suivant dans SAS :

/*create dataset*/
data my_data;
    input team $ position $ points;
    datalines;
A Guard 15
A Guard 12
A Guard 29
A Forward 13
A Forward 9
A Forward 16
B Guard 25
B Guard 20
B Guard 34
B Forward 19
B Forward 3
B Forward 8
;
run;

/*view dataset*/
proc print data=my_data;

Exemple 1 : calculer la moyenne par un groupe

Le code suivant montre comment calculer la moyenne des points par équipe :

/*calculate mean of points by team*/
proc sql;
    select team, mean(points) as mean_points
    from my_data
    group by team;
quit;

D’après le résultat, nous pouvons voir que les joueurs de l’équipe A ont marqué une moyenne de 15,66667 points et que les joueurs de l’équipe B ont marqué une moyenne de 18,16667 points.

Exemple 2 : calculer la moyenne par plusieurs groupes

Le code suivant montre comment calculer la moyenne des points, groupe par équipe et position :

/*calculate mean of points, grouped by team and position*/
proc sql;
    select team, position, mean(points) as mean_points
    from my_data
    group by team, position;
quit;

Le tableau résultant montre la moyenne des points marqués par les joueurs en fonction de leur équipe et de leur position.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

Comment compter les observations par groupe dans SAS
Comment calculer la somme par groupe dans SAS
Comment créer des tableaux de fréquences dans SAS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *