如何在SAS中添加重复数字列?

时间:2017-01-31 14:51:32

标签: sas

如何在SAS中的列中生成重复的一系列数字,从1到x?

假设x为3。

数据如下:

name age 
A 15 
D 16 
C 21 
B 35 
E 79 
F 85 
G 64 

我想添加一个名为list的列,如下所示:

name age list 
A 15 1 
D 16 2 
C 21 3 
B 35 1 
E 79 2 
F 85 3 
G 64 1

2 个答案:

答案 0 :(得分:2)

data class;
   set sashelp.class;
   if list>=3 then list=0;
   list+1;
run;

答案 1 :(得分:0)

我能想到的最简单的方法是使用mod和迭代计数器。

data want;
  set have;
  list = 1 + mod(_N_ - 1,3);
run;

mod是模数函数(除以后给出余数)。

因此,如果您希望根据某些参数进行更改,请将3更改为参数。

%let num_atwork = 2;

data want;
  set have;
  list = 1 + mod(_N_ - 1, &num_atwork.);
run;