Comment utiliser SELECT-WHEN dans SAS (avec exemple)
Vous pouvez utiliser une instruction SELECT-WHEN dans SAS pour attribuer des valeurs à une nouvelle variable en fonction des valeurs d’une variable catégorielle existante dans un ensemble de données.
Cette instruction utilise la syntaxe de base suivante :
data new_data;
set my_data;
select (Existing_Column);
when ('value1') New_Column=1;
when ('value2') New_Column=2;
when ('value3') New_Column=3;
otherwise New_Column=4;
end;
run;
Cette syntaxe produit une nouvelle colonne appelée New_Column dont les valeurs dépendent des valeurs de Existing_Column .
L’exemple suivant montre comment utiliser une instruction SELECT-WHEN dans la pratique.
Exemple : SELECT-WHEN dans SAS
Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient des informations sur divers joueurs de basket-ball :
/*create dataset*/
data my_data;
input team $ rating $ points;
datalines;
Mavs Great 22
Mavs Good 29
Mavs OK 15
Mavs Bad 8
Spurs Good 30
Spurs OK 15
Spurs OK 20
Spurs Bad 7
;
run;
/*view dataset*/
proc print data=my_data;
Nous pouvons utiliser l’instruction SELECT-WHEN suivante pour créer une nouvelle variable appelée Player_Status dont les valeurs dépendent de la valeur dans la colonne de notation :
/*create new dataset with Player_Status column*/ data new_data; set my_data; select (rating); when ('Great') Player_Status=1; when ('Good') Player_Status=2; when ('OK') Player_Status=3; otherwise Player_Status=4; end; run; /*view new dataset*/ proc print data=new_data;
Voici comment les valeurs ont été générées dans la nouvelle colonne Player_Status :
- Si la note était égale à « Excellent », alors Player_Status recevait 1 .
- Si la note était égale à « Bon », alors Player_Status était attribué à 2 .
- Si la note était égale à « OK », alors Player_Status était attribué 3 .
- Si la note n’était égale à aucune des valeurs spécifiées précédemment, alors Player_Status était attribué 4 .
Remarque : Vous pouvez trouver la documentation complète de l’instruction SELECT dans SAS ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Le guide complet des boucles DO dans SAS
Comment utiliser IF-THEN-DO dans SAS