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