SAS : Comment utiliser l’option WHERE avec SET
Vous pouvez utiliser l’option WHERE avec SET dans SAS pour créer un nouvel ensemble de données qui inclut uniquement les lignes d’un autre ensemble de données où certaines conditions sont remplies.
Voici deux manières courantes d’utiliser cette option dans la pratique :
Méthode 1 : utilisez WHERE et SET avec une condition
data new_data;
set my_data (where = (points>20));
run;
Cet exemple crée un nouvel ensemble de données appelé new_data qui inclut uniquement les lignes de my_data dont la valeur dans la colonne points est supérieure à 20.
Méthode 2 : utilisez WHERE et SET avec plusieurs conditions
data new_data;
set my_data (where = (points>20 or team="Rockets"));
run;
Cet exemple crée un nouvel ensemble de données appelé new_data qui inclut uniquement les lignes de my_data où la valeur dans la colonne points est supérieure à 20 ou la valeur dans la colonne équipe est égale à Rockets.
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec l’ensemble de données suivant dans SAS :
/*create dataset*/
data my_data;
input team $ points assists;
datalines;
Mavs 22 10
Rockets 12 14
Spurs 29 8
Kings 13 10
Warriors 44 10
Heat 18 8
Magic 11 5
Pelicans 19 3
Blazers 12 8
;
run;
/*view dataset*/
proc print data=my_data;
Exemple 1 : utilisez WHERE et SET avec une condition
Nous pouvons utiliser la syntaxe suivante pour créer un nouvel ensemble de données appelé new_data qui inclut uniquement les lignes de my_data où la valeur dans la colonne points est supérieure à 20 :
/*create new dataset*/
data new_data;
set my_data (where = (points>20));
run;
/*view new dataset*/
proc print data=new_data;
Notez que seules les lignes avec une valeur supérieure à 20 dans la colonne des points sont incluses dans cet ensemble de données.
Exemple 2 : utiliser WHERE et SET avec plusieurs conditions
Nous pouvons utiliser la syntaxe suivante pour créer un nouvel ensemble de données appelé new_data qui inclut uniquement les lignes de my_data où la valeur dans la colonne points est supérieure à 20 ou la valeur dans la colonne équipe est égale à « Rockets » :
/*create new dataset*/
data new_data;
set my_data (where = (points>20 or team="Rockets"));
run;
/*view new dataset*/
proc print data=new_data;
Notez que seules les lignes avec une valeur supérieure à 20 dans la colonne des points ou une valeur de « Rockets » dans la colonne de l’équipe sont incluses dans cet ensemble de données.
Remarque : Vous pouvez utiliser et à la place de ou pour inclure uniquement les lignes qui remplissent plusieurs conditions.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment utiliser l’instruction SET avec plusieurs ensembles de données dans SAS
Comment sélectionner les N premières lignes d’un ensemble de données dans SAS
Comment supprimer des ensembles de données dans SAS