如何在 sas 中使用 %let 语句(附示例)
您可以使用 SAS 中的%LET语句创建宏变量,该变量可以存储稍后可以在程序中使用的值。
以下示例显示了在实践中使用%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;
请注意,如果点列的值大于20,则名为good_player 的新列包含值1 ;如果点列的值不大于20 ,则名为 good_player 的新列包含值0 。
示例 2:使用 %LET 语句在 SAS 中存储字符串值
我们还可以使用SAS中的%LET语句来创建存储字符串值的宏变量。
以下代码演示如何使用%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 中执行其他常见任务: