Como usar if-then-else no sas (com exemplos)


Você pode usar uma instrução IF-THEN-ELSE no SAS para retornar um valor se uma condição for verdadeira; caso contrário , retornar outro valor se uma condição não for verdadeira.

Esta instrução usa a seguinte sintaxe básica:

 if var1 > 30 then var2 = 'good';
else var2 = 'bad';

Você também pode encadear várias instruções ELSE IF para retornar mais valores potenciais com base em mais condições:

 if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';

Os exemplos a seguir mostram como usar cada uma dessas declarações na prática com o seguinte conjunto de dados no SAS:

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32 
Mavs 35
Celtics 36
Celtics 40
;
run ;

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

Exemplo 1: IF-THEN-ELSE em SAS

Podemos usar a seguinte instrução IF-THEN-ELSE para criar uma nova variável chamada rating que assume o valor “bom” se o valor na coluna de pontos for maior que 30 ou o valor “ruim” caso contrário:

 /*create new dataset with new variable called rating*/
data new_data;
    set original_data;
    if points > 30 then rating = 'good';
    else rating = 'bad';
run ;

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

Observe que a nova coluna chamada rating assume o valor “bom” se o valor da coluna de pontos for maior que 30 ou o valor “ruim” caso contrário.

Exemplo 2: IF-THEN-ELSE IF em SAS

Podemos usar a seguinte instrução IF-THEN-ELSE IF para criar uma nova variável chamada rating que assume os seguintes valores:

  • “super” se os pontos forem maiores que 35
  • caso contrário, “bom” se os pontos forem superiores a 30
  • caso contrário, “ruim”

O código a seguir mostra como fazer isso:

 /*create new dataset with new variable called rating*/
data new_data;
    set original_data;
    if points > 35 then rating = 'great';
    else if points > 30 then rating = 'good';
    else rating = 'bad';
run ;

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

A nova coluna denominada classificação assume o valor “excelente”, “bom” ou “ruim” dependendo do valor correspondente na coluna de pontos .

Nota : Sinta-se à vontade para usar quantas instruções ELSE IF desejar para retornar quantos valores diferentes desejar com base em várias condições.

Recursos adicionais

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

Como usar IF-THEN-DO no SAS
Como remover duplicatas no SAS
Como substituir valores ausentes por zero no SAS

Add a Comment

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