我有以下数据集,详细说明了一个家庭中女性的年龄:
Household ID Age
1 19
2 52
2 22
2 18
3 37
3 29
我想在此表中添加第三列,其中为每个家庭中的女性提供从1到n的ID,其中n是家庭中女性的数量。所以这将给出以下内容:
Household ID Age Woman ID
1 19 1
2 52 1
2 22 2
2 18 3
3 37 1
3 29 2
我怎样才能做到这一点?
答案 0 :(得分:3)
首先确保家庭ID已排序。然后使用First。应该给你你需要的东西。
proc sort data = old;
by Household_ID;
run;
data new(rename= (count=woman_id));
set old;
count + 1;
by Household_ID;
if first.Household_ID then count = 1;
run;