【问题标题】:SAS create ID based upon other variablesSAS根据其他变量创建ID
【发布时间】:2014-04-18 12:53:00
【问题描述】:

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

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

我怎样才能做到这一点?

【问题讨论】:

    标签: sas


    【解决方案1】:

    首先确保家庭 ID 已排序。然后使用第一。应该给你你需要的。

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2022-10-14
      • 1970-01-01
      相关资源
      最近更新 更多