Hoe ontbrekende waarden te vervangen door nul in sas


Vaak wilt u ontbrekende waarden in een SAS-dataset vervangen door nullen.

Gelukkig is dit eenvoudig te doen met behulp van een eenvoudige if then -instructie.

De volgende voorbeelden laten zien hoe u ontbrekende waarden in de praktijk kunt vervangen door nullen.

Voorbeeld 1: Vervang ontbrekende waarden in alle kolommen

Stel dat we de volgende gegevensset in SAS hebben met drie kolommen, elk met ontbrekende waarden:

 /*create dataset*/
data my_data;
    input xyz;
    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;

We kunnen de volgende code gebruiken om ontbrekende waarden te vervangen door nullen in elke kolom van de dataset:

 /*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; 

Merk op dat ontbrekende waarden in elke kolom zijn vervangen door nullen.

Opmerking : het argument _numeric_ vertelt SAS om ontbrekende waarden te vervangen door nullen in elke numerieke kolom in de gegevensset.

Voorbeeld 2: Vervang ontbrekende waarden in een specifieke kolom

Laten we opnieuw aannemen dat we de volgende gegevensset in SAS hebben met drie kolommen, elk met ontbrekende waarden:

 /*create dataset*/
data my_data;
    input xyz;
    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;

We kunnen de volgende code gebruiken om ontbrekende waarden alleen door nullen te vervangen in kolom “y” van de dataset:

 /*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; 

Houd er rekening mee dat alleen de ontbrekende waarden in de kolom „y“ zijn vervangen door nullen.

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:

Gegevens normaliseren in SAS
Hoe duplicaten in SAS te verwijderen
Procedureoverzicht gebruiken in SAS
Hoe waarnemingen te selecteren die niet nul zijn in SAS

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert