如何在 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; 

SAS 中的 IF-THEN-DO 语句

下面是这段代码的工作原理:

如果商店等于“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 中执行其他常见任务:

如何标准化 SAS 中的数据
SAS中如何删除重复项
SAS中如何用零替换缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注