Comment utiliser PROC RANK dans SAS (avec exemples)



Vous pouvez utiliser PROC RANK dans SAS pour calculer le classement d’une ou plusieurs variables numériques.

Voici les quatre façons les plus courantes d’utiliser cette procédure :

Méthode 1 : variable de rang un

proc rank data=original_data out=ranked_data;
   var var1;
   ranks var1_rank;
run;

Méthode 2 : classer une variable par groupe

proc rank data=original_data out=ranked_data;
   var var1;
   by var2;
   ranks var1_rank;
run;

Méthode 3 : classer une variable en centiles

proc rank data=original_data groups=4 out=ranked_data;
   var var1;
   ranks var1_rank;
run;

Méthode 4 : classer plusieurs variables

proc rank data=original_data out=ranked_data;
   var var1 var2;
   ranks var1_rank var2_rank;
run;

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

/*create dataset*/
data original_data;
    input team $ points rebounds;
    datalines;
A 25 10
A 18 4
A 18 7
A 24 8
B 27 9
B 33 13
B 31 11
B 30 16
;
run;

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

Exemple 1 : variable de rang un

Le code suivant montre comment créer une nouvelle variable appelée points_rank qui classe les points marqués par chaque équipe :

/*rank points scored by team*/
proc rank data=original_data out=ranked_data;
   var points;
   ranks points_rank;
run;

/*view ranks*/
proc print data=ranked_data;

L’équipe avec le plus de points reçoit le classement le plus élevé et l’équipe avec le moins de points reçoit le classement le plus bas.

Toute égalité de points marqués se voit attribuer un rang moyen. Par exemple, les lignes avec les premier et deuxième points les plus bas reçoivent toutes deux un classement de 1,5, puisqu’il s’agit de la moyenne de 1 et 2.

Notez que vous pouvez plutôt utiliser l’instruction décroissante pour attribuer à l’équipe avec le plus de points le rang le plus bas :

/*rank points scored by team in descending order*/
proc rank data=original_data descending out=ranked_data;
    var points;
    ranks points_rank;
run;

/*view ranks*/
proc print data=ranked_data;

Exemple 2 : variable de rang un par groupe

Le code suivant montre comment créer une nouvelle variable appelée points_rank qui classe les points marqués, regroupés par équipe :

/*rank points scored, grouped by team*/
proc rank data=original_data out=ranked_data;
    var points;
    by team;
    ranks points_rank;
run;

/*view ranks*/
proc print data=ranked_data;

Exemple 3 : Classer une variable en centiles

Nous pouvons utiliser l’instruction groups pour classer les variables en groupes centiles. Par exemple, nous pouvons classer chaque valeur de points dans un quartile (quatre groupes) :

/*rank points into quartiles*/
proc rank data=original_data groups=4 out=ranked_data;
   var points;
   ranks points_rank;
run;

/*view ranks*/
proc print data=ranked_data;

Les lignes avec les valeurs de points dans le quartile le plus bas se voient attribuer un groupe de 0 , les lignes avec les points dans le quartile le plus bas suivant se voient attribuer un groupe de 1 , et ainsi de suite.

Remarque : Pour attribuer des valeurs en déciles, utilisez simplement groups=10 .

Exemple 4 : classer plusieurs variables

Le code suivant montre comment créer plusieurs nouvelles variables pour classer à la fois les points et les rebonds :

proc rank data=original_data out=ranked_data;
   var points rebounds;
   ranks points_rank rebounds_rank;
run;

Ressources additionnelles

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

Comment utiliser le résumé de procédure dans SAS
Comment utiliser Proc Tabulate dans SAS
Comment utiliser PROC Transpose 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 *