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_data中Points列中的值大于 20或team列中的值等于 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_data中Points列中的值大于 20或team列中的值等于“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”列中的值大于 20或“ team ”列中的值大于“Rockets”的行。
注意:您可以使用and代替或来仅包含满足多个条件的行。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: