如何在 sas 中使用 _n_(3 个示例)


SAS中的自动变量_N_用于统计数据步循环的次数。

以下是实践中使用_N_ 的最常见方法:

方法一:使用_N_选择数据集的第一行

 data new_data;
    set original_data;
    if _N_ = 1 then output ;
run ;

方法2:使用_N_选择数据集的前N

 data new_data ;
    set original_data;
    if _N_ <= 5 then output ; /*select first 5 rows*/
run ;

方法三:使用_N_向数据集中添加行号

 data new_data;
set original_data;
row_number = _N_;
run;

以下示例展示了如何在 SAS 中对以下数据集使用每种方法:

 /*create dataset*/
data original_data;
    input team $pointsrebounds;
    datalines ;
Warriors 25 8
Wizards 18 12
Rockets 22 6
Celtics 24 11
Thunder 27 14
Spurs 33 19
Nets 31 20
Mavericks 34 10
Kings 22 11
Pelicans 39 23
;
run ;

/*view dataset*/
proc print data = original_data; 

示例 1:使用 _N_ 选择数据集中的第一行

以下代码展示了如何使用_N_仅选择数据集的第一行:

 /*create new dataset that contains only the first row*/
data new_data;
    set original_data;
    if _N_ = 1 then output ;
run ;

/*view new dataset*/
proc print data = new_data; 

我们可以看到新数据集仅包含原始数据集的第一行。

示例 2:使用 _N_选择数据集的前 N 行

以下代码展示了如何使用_N_选择数据集的前五行:

 /*create new dataset that contains first 5 rows of original dataset*/
data new_data;
    set original_data;
    if _N_ <= 5 then output ;
run ;

/*view new dataset*/
proc print data = new_data;

我们可以看到新数据集仅包含原始数据集的前五行。

示例 3:使用 _N_ 将行号添加到数据集

以下代码演示如何使用_N_添加一列来显示数据集中每行的行号:

 /*create new dataset that contains column with row numbers*/
data new_data;
    set original_data;
    row_number = _N_;
run ;

/*view new dataset*/
proc print data = new_data;

我们可以看到新数据集有一列名为row_number ,其中包含数据集中每行的行号。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在SAS中使用过程摘要
如何在 SAS 中使用 Proc Tabulate
如何在SAS中重命名变量
如何在 SAS 中创建新变量

添加评论

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