Comment remplacer les valeurs manquantes par zéro dans SAS



Souvent, vous souhaiterez peut-être remplacer les valeurs manquantes dans un ensemble de données SAS par des zéros.

Heureusement, cela est facile à faire en utilisant une simple instruction if then .

Les exemples suivants montrent comment remplacer les valeurs manquantes par des zéros dans la pratique.

Exemple 1 : remplacer les valeurs manquantes dans toutes les colonnes

Supposons que nous ayons l’ensemble de données suivant dans SAS avec trois colonnes, chacune avec des valeurs manquantes :

/*create dataset*/
data my_data;
    input x y z;
    datalines;
1 . 76
2 3 .
2 3 85
4 5 88
2 2 .
1 2 69
5 . 94
4 1 .
. . 88
4 3 92
;
run;

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

Nous pouvons utiliser le code suivant pour remplacer les valeurs manquantes par des zéros dans chaque colonne de l’ensemble de données :

/*create new dataset with missing values replaced by zero*/
data my_data_new;
   set my_data;
   array variablesOfInterest _numeric_;
   do over variablesOfInterest;
      if variablesOfInterest=. then variablesOfInterest=0;
   end;
run;

/*view new dataset*/
proc print data=my_data_new;

Notez que les valeurs manquantes dans chaque colonne ont été remplacées par des zéros.

Remarque : L’argument _numeric_ indique à SAS de remplacer les valeurs manquantes par des zéros dans chaque colonne numérique de l’ensemble de données.

Exemple 2 : remplacer les valeurs manquantes dans une colonne spécifique

Supposons encore une fois que nous ayons l’ensemble de données suivant dans SAS avec trois colonnes, chacune avec des valeurs manquantes :

/*create dataset*/
data my_data;
    input x y z;
    datalines;
1 . 76
2 3 .
2 3 85
4 5 88
2 2 .
1 2 69
5 . 94
4 1 .
. . 88
4 3 92
;
run;

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

Nous pouvons utiliser le code suivant pour remplacer les valeurs manquantes par des zéros uniquement dans la colonne « y » de l’ensemble de données :

/*create new dataset with missing values in "y" column replaced by zero*/
data my_data_new;
   set my_data;
   array variablesOfInterest y;
   do over variablesOfInterest;
      if variablesOfInterest=. then variablesOfInterest=0;
   end;
run;

/*view new dataset*/
proc print data=my_data_new;

Notez que seules les valeurs manquantes dans la colonne « y » ont été remplacées par des zéros.

Ressources additionnelles

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

Comment normaliser les données dans SAS
Comment supprimer les doublons dans SAS
Comment utiliser le résumé de procédure dans SAS
Comment sélectionner des observations qui ne sont pas nulles dans SAS

Ajouter un commentaire

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