Como substituir valores ausentes por zero no sas


Freqüentemente, você pode querer substituir os valores ausentes em um conjunto de dados SAS por zeros.

Felizmente, isso é fácil de fazer usando uma simples instrução if then .

Os exemplos a seguir mostram como substituir valores ausentes por zeros na prática.

Exemplo 1: Substitua os valores ausentes em todas as colunas

Suponha que temos o seguinte conjunto de dados no SAS com três colunas, cada uma com valores ausentes:

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

Podemos usar o seguinte código para substituir valores ausentes por zeros em cada coluna do conjunto de dados:

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

Observe que os valores ausentes em cada coluna foram substituídos por zeros.

Nota : O argumento _numeric_ diz ao SAS para substituir os valores ausentes por zeros em cada coluna numérica do conjunto de dados.

Exemplo 2: Substitua valores ausentes em uma coluna específica

Vamos supor novamente que temos o seguinte conjunto de dados no SAS com três colunas, cada uma com valores ausentes:

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

Podemos usar o seguinte código para substituir valores ausentes por zeros apenas na coluna “y” do conjunto de dados:

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

Observe que apenas os valores ausentes na coluna “y” foram substituídos por zeros.

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como normalizar dados no SAS
Como remover duplicatas no SAS
Como usar o resumo do procedimento no SAS
Como selecionar observações que não são zero no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *