Sas:如何将 where 选项与 set 一起使用


您可以将WHERE选项与 SAS 中的SET结合使用来创建新数据集,该数据集仅包含来自满足特定条件的另一个数据集的行。

以下是在实践中使用此选项的两种常见方法:

方法 1:使用带有条件的 WHERE 和 SET

 data new_data;
    set my_data ( where = (dots>20));
run ;

此示例创建一个名为new_data的新数据集,该数据集仅包含my_data中点列中的值大于 20 的行。

方法 2:在多个条件下使用 WHERE 和 SET

 data new_data;
    set my_data ( where = (points>20 or team="Rockets"));
run ;

此示例创建一个名为new_data的新数据集,该数据集仅包含my_dataPoints列中的值大于 20team列中的值等于 Rockets 的行。

以下示例展示了如何在 SAS 中的以下数据集上实际使用每种方法:

 /*create dataset*/
data my_data;
    input team $points assists;
    datalines ;
Mavs 22 10
Rockets 12 14
Spurs 29 8
Kings 13 10
Warriors 44 10
Heat 18 8
Magic 11 5
Pelicans 19 3
Blazers 12 8
;
run ;

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

示例 1:将 WHERE 和 SET 与条件结合使用

我们可以使用以下语法创建一个名为new_data的新数据集,该数据集仅包含my_data中点列中的值大于 20 的行:

 /*create new dataset*/
data new_data;
    set my_data ( where = (dots>20));
run ;

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

请注意,此数据集中仅包含列中值大于 20 的行。

示例 2:在多个条件下使用 WHERE 和 SET

我们可以使用以下语法创建一个名为new_data的新数据集,该数据集仅包含my_dataPoints列中的值大于 20team列中的值等于“Rockets”的行:

 /*create new dataset*/
data new_data;
    set my_data ( where = (points>20 or team="Rockets"));
run ;

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

请注意,此数据集中仅包含“points”列中的值大于 20team ”列中的值大于“Rockets”的行。

注意:您可以使用and代替来仅包含满足多个条件的行。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在 SAS 中对多个数据集使用 SET 语句
如何在 SAS 中选择数据集的前 N 行
SAS中如何删除数据集

添加评论

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