如何在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

添加评论

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