如何在 sas 中使用 if-then-do(附示例)
如果条件为真,您可以使用 SAS 中的IF-THEN-DO语句来执行语句块。
该语句使用以下基本语法:
if var1 = " value " then do ;
new_var2 = 10;
new_var3 = 5;
end ;
注意:当您想要执行单个语句时,可以使用 IF-THEN 语句。当您想要执行多个语句时,可以使用 IF-THEN-DO 语句。
以下示例展示了如何在实践中使用IF-THEN-DO语句。
示例: SAS 中的 IF-THEN-DO
假设我们在 SAS 中有以下数据集,显示了两家商店连续几天的总销售额:
/*create dataset*/
data original_data;
input store $sales;
datalines ;
At 14
At 19
At 22
At 20
At 16
At 26
B40
B43
B29
B 30
B35
B 33
;
run ;
/*view dataset*/
proc print data = original_data;
我们可以使用以下 IF-THEN-DO 语句来创建两个新变量,如果存储等于原始数据集中的“A”,则这些变量将采用特定值:
/*create new dataset*/ data new_data; set original_data; if store = " A " then do ; region=" East "; country=" Canada "; end ; run ; /*view new dataset*/ proc print data =new_data;
下面是这段代码的工作原理:
如果商店等于“A”,则创建一个名为“ region ”的新变量,其值为“East” ,并创建一个名为“ country ”的新变量,其值为“Canada”。
请注意,我们还可以使用多个 IF-THEN-DO 语句:
/*create new dataset*/ data new_data; set original_data; if store = " A " then do ; region=" East "; country=" Canada "; end ; if store = " B " then do ; region=" West "; country=" USA "; end ; run ; /*view new dataset*/ proc print data =new_data;
下面是这段代码的工作原理:
- 如果商店等于“A”,则创建一个名为“ region ”的新变量,其值为“East”,并创建一个名为“ country ”的新变量,其值为“Canada”。
- 如果商店等于“B”,则区域值为“West”,国家/地区值为“United States”。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: