Come sostituire i valori mancanti con zero in sas


Spesso potresti voler sostituire i valori mancanti in un set di dati SAS con zeri.

Fortunatamente, questo è facile da fare utilizzando una semplice istruzione if then .

Gli esempi seguenti mostrano come sostituire nella pratica i valori mancanti con zeri.

Esempio 1: sostituisci i valori mancanti in tutte le colonne

Supponiamo di avere il seguente set di dati in SAS con tre colonne, ciascuna con valori mancanti:

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

Possiamo utilizzare il seguente codice per sostituire i valori mancanti con zeri in ciascuna colonna del set di dati:

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

Tieni presente che i valori mancanti in ciascuna colonna sono stati sostituiti con zeri.

Nota : l’argomento _numeric_ indica a SAS di sostituire i valori mancanti con zeri in ciascuna colonna numerica nel set di dati.

Esempio 2: sostituisci i valori mancanti in una colonna specifica

Supponiamo ancora una volta di avere il seguente set di dati in SAS con tre colonne, ciascuna con valori mancanti:

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

Possiamo utilizzare il seguente codice per sostituire i valori mancanti con zeri solo nella colonna “y” del set di dati:

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

Tieni presente che solo i valori mancanti nella colonna “y” sono stati sostituiti con zeri.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

Come normalizzare i dati in SAS
Come rimuovere i duplicati in SAS
Come utilizzare il riepilogo della procedura in SAS
Come selezionare le osservazioni che non sono zero in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *