📅  最后修改于: 2023-12-03 14:47:13.540000             🧑  作者: Mango
在 SAS 编程中,Where 语句是一种过滤数据的方法。可以使用 Where 语句从数据集中选择满足特定条件的观测值,并将它们用于后续分析。
Where 语句使用在数据步或过程中,其语法如下:
WHERE 条件;
其中 条件
是一个布尔表达式,用于对数据的观测值进行过滤。
为了演示 Where 语句的用法,我们将使用 SAS 自带的示例数据集 Sashelp.Class
。该数据集包含了一些学生的基本信息和成绩数据。
proc print data=sashelp.class;
run;
输出结果:
| Obs | Name | Sex | Age | Height | Weight | | --- | --- | --- | --- | --- | --- | | 1 | Alfred | M | 14 | 69.0 | 112.5 | | 2 | Alice | F | 13 | 56.5 | 84.0 | | 3 | Barbara | F | 13 | 65.3 | 98.0 | | 4 | Carol | F | 14 | 62.8 | 102.5 | | 5 | Henry | M | 14 | 63.5 | 102.5 | | 6 | James | M | 12 | 57.3 | 83.0 | | 7 | Jane | F | 12 | 59.8 | 84.5 | | 8 | Janet | F | 15 | 62.5 | 112.5 | | 9 | Jeffrey | M | 13 | 62.5 | 84.0 | | 10 | John | M | 12 | 59.0 | 99.5 | | 11 | Joyce | F | 11 | 51.3 | 50.5 | | 12 | Judy | F | 14 | 64.3 | 90.0 | | 13 | Louise | F | 12 | 56.3 | 77.0 | | 14 | Mary | F | 15 | 66.5 | 112.0 | | 15 | Philip | M | 16 | 72.0 | 150.0 | | 16 | Robert | M | 12 | 64.8 | 128.0 | | 17 | Ronald | M | 15 | 67.0 | 133.0 | | 18 | Thomas | M | 11 | 57.5 | 85.0 | | 19 | William | M | 15 | 66.5 | 112.0 |
从 Sashelp.Class
数据集中选取出 Age
大于 14 岁的学生。
data class_subset1;
set sashelp.class;
where age > 14;
run;
proc print data=class_subset1;
run;
输出结果:
| Obs | Name | Sex | Age | Height | Weight | | --- | --- | --- | --- | --- | --- | | 1 | Janet | F | 15 | 62.5 | 112.5 | | 2 | Mary | F | 15 | 66.5 | 112.0 | | 3 | Philip | M | 16 | 72.0 | 150.0 | | 4 | Ronald | M | 15 | 67.0 | 133.0 | | 5 | William | M | 15 | 66.5 | 112.0 |
从 Sashelp.Class
数据集中选取出体重在 100 到 120 之间的男生。
data class_subset2;
set sashelp.class;
where sex = 'M' and weight between 100 and 120;
run;
proc print data=class_subset2;
run;
输出结果:
| Obs | Name | Sex | Age | Height | Weight | | --- | --- | --- | --- | --- | --- | | 1 | Alfred | M | 14 | 69.0 | 112.5 | | 2 | Henry | M | 14 | 63.5 | 102.5 | | 3 | Robert | M | 12 | 64.8 | 128.0 | | 4 | Ronald | M | 15 | 67.0 | 133.0 | | 5 | William | M | 15 | 66.5 | 112.0 |
条件
可以是任何布尔表达式,包括等于、大于、小于、不等于等。Where 语句是 SAS 编程中实用的数据过滤语句,可以用于选取符合条件的观测值。其中 条件
可以是任何布尔表达式,具有很大的灵活性。在应用 Where 语句时,需要注意空值和缺失值的情况,以保证分析结果的准确性。