SAS, присвоение одинаковых номеров конкретным наблюдениям - PullRequest
0 голосов
/ 07 марта 2012

Я хочу назначить один и тот же идентификационный номер для каждых четырех наблюдений.Например, если у меня есть следующие данные

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

Последний идентификатор столбца - это то, что я хочу произвести.Кроме того, в наборе данных содержится более 500 000 наблюдений.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Чуть компактнее:

id = ceil(_n_/4);
2 голосов
/ 07 марта 2012

Используйте целочисленную функцию и встроенную переменную _n_ (которая увеличивается для каждого наблюдения):

id = int( (_n_-4)/4 )+1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...