Как использовать оператор %let в sas (с примерами)


Вы можете использовать оператор %LET в SAS для создания макропеременных, которые могут хранить значения, которые вы затем сможете использовать позже в своей программе.

Следующие примеры показывают два распространенных способа использования оператора %LET на практике.

Пример 1. Используйте инструкцию %LET для сохранения числового значения в SAS.

Предположим, у нас есть следующий набор данных в SAS, содержащий информацию о различных баскетболистах:

 /*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run;

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

Мы можем использовать оператор %LET для создания макропеременной с именем Points_cutoff , которая имеет значение 20 .

Затем мы можем сослаться на эту переменную позже, используя амперсанд ( & ) перед ней, чтобы создать новый набор данных, содержащий новый столбец, указывающий, набрал ли каждый игрок более 20 очков или нет:

 /*assign value of 20 to macro variable*/
%let points_cutoff = 20;

/*use macro variable to create new column called good_player*/
data new_data;
 set my_data;
 good_player = points > &points_cutoff;
run ;

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

Обратите внимание, что новый столбец с именем Good_player содержит значение 1 , если значение столбца Points больше 20 , или значение 0 , если значение столбца Points не превышает 20 .

Пример 2. Используйте оператор %LET для хранения строкового значения в SAS.

Мы также можем использовать оператор %LET в SAS для создания макропеременной, в которой хранится строковое значение.

В следующем коде показано, как использовать оператор %LET для создания переменной с именем table_title , содержащей значение «Баскетбольные данные», на которое мы затем можем ссылаться позже, чтобы напечатать заголовок набора данных:

 /*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run ;

/*assign string to macro variable*/
%let table_title = " Basketball Data ";

/*print dataset with title*/
proc print data =my_data;
    title &table_title;
run ; 

Набор данных содержит заголовок, который мы указали в макропеременной.

Примечание . Вы можете найти полную документацию инструкции SAS LET .   здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как использовать сортировку Proc в SAS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *