如何使用第一。最后。 sas 中的变量
您可以使用第一个。和最后。在 SAS 中按组识别 SAS 数据集中的第一个作品和最后一个观察结果。
以下是每个函数的作用的摘要:
- FIRST.variable_name将值 1 分配给组中的第一个观测值,并将值 0 分配给组中的所有其他观测值。
- LAST.variable_name将值 1 分配给组中的最后一个观测值,并将值 0 分配给组中的所有其他观测值。
以下示例展示了如何在 SAS 中的以下数据集上实际使用每个函数:
/*create dataset*/
data my_data;
input team $pointsrebounds;
datalines ;
Mavs 29 10
Mavs 13 6
Mavs 22 5
Mavs 20 9
Spurs 13 9
Spurs 15 10
Spurs 33 8
Spurs 27 11
Rockets 25 8
Rockets 14 4
Rockets 16 7
Rockets 12 4
;
run ;
/*view dataset*/
proc print data =my_data;
示例 1:如何使用 FIRST。在SAS
我们可以首先使用以下内容。 SAS 中的函数将值1分配给数据集中每个团队的第一个观察值:
/*sort dataset by team*/
proc sort data =my_data;
by team;
run ;
/*create new dataset that labels first row for each team*/
datafirst_team ;
set my_data;
by team;
first_team=first.team;
run ;
/*view dataset*/
proc print data =first_team;
请注意, first_team列将每个团队的第一个观察值设置为1 。所有其他值都分配为值0 。
您还可以使用以下代码创建一个仅包含每个团队的第一个观察结果的新数据集:
/*sort dataset by team*/
proc sort data =my_data;
by team;
run ;
/*create new dataset only contains first row for each team*/
data first_team;
set my_data;
by team;
if first.team;
run ;
/*view dataset*/
proc print data =first_team;
请注意,数据集仅包含每个团队的第一个观察结果。
示例 2:如何使用 LAST。在SAS
我们可以使用下面的 LAST。 SAS 中的函数将值1分配给数据集中每个团队的第一个观察值:
/*sort dataset by team*/
proc sort data =my_data;
by team;
run ;
/*create new dataset that labels last row for each team*/
data last_team;
set my_data;
by team;
last_team=last.team;
run ;
/*view dataset*/
proc print data =last_team;
请注意, last_team列将每个团队的最后一次观察设置为1 。所有其他值都分配为值0 。
您还可以使用以下代码创建一个仅包含每个团队的最后观察结果的新数据集:
/*sort dataset by team*/
proc sort data =my_data;
by team;
run ;
/*create new dataset only contains last row for each team*/
data last_team;
set my_data;
by team;
if last.team;
run ;
/*view dataset*/
proc print data =last_team;
请注意,数据集仅包含每个团队的最后观察结果。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: