Как использовать if-then-else в sas (с примерами)
Вы можете использовать оператор IF-THEN-ELSE в SAS, чтобы вернуть значение , если условие истинно, или вернуть другое значение, если условие неверно.
В этом операторе используется следующий базовый синтаксис:
if var1 > 30 then var2 = 'good';
else var2 = 'bad';
Вы также можете объединить несколько операторов ELSE IF вместе, чтобы вернуть больше потенциальных значений на основе большего количества условий:
if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';
Следующие примеры показывают, как использовать каждый из этих операторов на практике со следующим набором данных в 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;
Пример 1: IF-THEN-ELSE в SAS
Мы можем использовать следующий оператор IF-THEN-ELSE , чтобы создать новую переменную с именем рейтинг , которая принимает значение «хорошо», если значение в столбце баллов больше 30, или значение «плохо» в противном случае:
/*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;
Обратите внимание, что новый столбец под названием « Рейтинг» принимает значение «хорошо», если значение столбца « баллы » превышает 30, или значение «плохо», в противном случае.
Пример 2: IF-THEN-ELSE IF в SAS
Мы можем использовать следующий оператор IF-THEN-ELSE IF , чтобы создать новую переменную с именем рейтинг , которая принимает следующие значения:
- «супер», если баллов больше 35
- в противном случае «хорошо», если количество баллов превышает 30.
- иначе «плохо»
Следующий код показывает, как это сделать:
/*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;
Новый столбец под названием « Рейтинг» принимает значения «отлично», «хорошо» или «плохо» в зависимости от соответствующего значения в столбце «баллы ».
Примечание . Не стесняйтесь использовать столько операторов ELSE IF , сколько хотите, чтобы вернуть столько разных значений, сколько хотите, в зависимости от различных условий.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать IF-THEN-DO в SAS
Как удалить дубликаты в SAS
Как заменить пропущенные значения нулями в SAS