如何在sas中使用monotonic函数(附示例)
您可以使用 SAS 中的MONOTONIC()函数生成一组数据的行号。
以下是在实践中使用此功能的两种常见方法:
方法 1:使用 MONOTONIC() 创建行号列
/*create column called row_ID that contains row numbers*/
proc sql ;
select team, monotonic() as row_ID
from my_data;
quit ;
方法2:使用MONOTONIC()按行号过滤数据集
/*filter where row number is less than 5*/
proc sql ;
select *
from my_data
where monotonic() < 5;
quit ;
以下示例展示了如何在 SAS 中的以下数据集上实际使用每种方法:
/*create dataset*/
data my_data;
input team $points assists;
datalines ;
Cavs 12 5
Cavs 14 7
Warriors 15 9
Hawks 18 9
Mavs 31 7
Mavs 32 5
Mavs 35 3
Celtics 36 9
Celtics 40 7
;
run ;
/*view dataset*/
proc print data =my_data;
示例 1:使用 MONOTONIC() 创建行号列
以下代码演示如何使用MONOTONIC()函数创建一个名为row_ID的新列,其中包含数据集中每个观测值的行号(从 1 开始):
/*create column called row_ID that contains row numbers*/
proc sql ;
select team, monotonic() as row_ID
from my_data;
quit ;
请注意,已创建一个名为row_ID的新列,其中包含数据集中每个观测值的行号,范围从 1 到 9。
示例 2:使用 MONOTONIC() 按行号过滤数据集
以下代码展示了如何使用MONOTONIC()函数过滤行号小于 5 的数据集:
/*filter where row number is less than 5*/
proc sql ;
select *
from my_data
where monotonic() < 5;
quit ;
请注意,由于我们使用MONOTONIC()函数指定行号应小于 5,因此仅显示数据集的前四行。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务:
SAS:如何在 PROC SQL 中使用 WHERE 运算符
SAS:如何在 PROC SQL 中使用 IN 运算符
SAS:如何在 PROC SQL 中使用 UPDATE
SAS:如何在 PROC SQL 中使用 CONTAINS