如何在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
答案 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;