Я хотел бы создать переменную id для идентификации уникальных групп по нескольким переменным.
Например, у меня есть машины данных из sashelp.cars
, и я хотел бы идентифицировать уникальные группы Make
- DriveTrain
и Cylinder
с переменной id grp_id
. Таким образом, тот же Make
и тот же DriveTrain
с другим номером Cylinder
будут рассматриваться как новая группа (и, следовательно, новое значение в переменной id grp_id
).
Я попытался сделать следующее, но при этом в случае нового случая будет сброшена переменная id, равная 1, и при этом не будет приниматься во внимание каждая уникальная комбинация Make + DriveTrain + Cylinder
в качестве другого идентификатора группы.
data cars; set sashelp.cars; run;
proc sort data=cars; by Make DriveTrain Cylinders; run;
data cars; set cars;
grp_id + 1;
by Make DriveTrain Cylinders
if first.Make or first.DriverTrain or first.Cylinders then grp_id = 1;
run;
Есть идеи, как создать эту переменную grp_id
, используя несколько переменных в качестве критерия?