SAS,为特定观察指定相同的数字

时间:2012-03-06 21:07:33

标签: loops sas

我想为每四个观察值分配相同的ID号。例如,如果我有以下数据

age marital gender  id
45  1   0   1
33  1   1   1
68  0   1   1
27  1   0   1
43  0   0   2
37  0   1   2
19  1   1   2
40  1   1   2
25  1   0   3
38  1   1   3
57  0   0   3
50  1   0   3
51  1   1   4
44  0   1   4
69  1   0   4
39  0   1   4

最后一列id是我想要制作的。 此外,数据集有500,000多个观测值。

提前致谢。

2 个答案:

答案 0 :(得分:3)

稍微紧凑:

id = ceil(_n_/4);

答案 1 :(得分:2)

使用整数函数和内置_n_变量(每次观察都会递增):

id = int( (_n_-4)/4 )+1;