SAS根据其他变量创建ID

时间:2014-04-18 12:53:00

标签: sas

我有以下数据集,详细说明了一个家庭中女性的年龄:

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

我怎样才能做到这一点?

1 个答案:

答案 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;