如何从每个主题的第一行中减去行?
How to subtract rows from first row, per subject?
我有不同年龄测量的受试者 ID。它看起来像这样:
enter image description here
Subject Gender Datasource MHGCAT_COD_4 MHGCAT_COD_6 MHGCAT_COD_11 age_ga
124 1 1 21 122 1212 38
124 1 1 21 122 1212 39
124 1 1 21 122 1212 41
124 1 1 21 122 1212 43
125 1 1 21 122 1212 33
125 1 1 21 122 1212 38
我想创建一个像这样计算的额外列:
Subject Gender Datasource MHGCAT_COD_4 MHGCAT_COD_6 MHGCAT_COD_11 age_ga window
124 1 1 21 122 1212 38 0
124 1 1 21 122 1212 39 1
124 1 1 21 122 1212 41 3
124 1 1 21 122 1212 43 5
125 1 1 21 122 1212 33 0
125 1 1 21 122 1212 38 5
我正在使用 SAS 来执行此操作。谢谢!
附上图片以防格式混乱。
使用BY变量处理。
data want ;
set have ;
by subject age_ga ;
if first.subject then index_age = age_ga ;
retain index_age ;
window = age_ga - index_age;
run;
我有不同年龄测量的受试者 ID。它看起来像这样: enter image description here
Subject Gender Datasource MHGCAT_COD_4 MHGCAT_COD_6 MHGCAT_COD_11 age_ga
124 1 1 21 122 1212 38
124 1 1 21 122 1212 39
124 1 1 21 122 1212 41
124 1 1 21 122 1212 43
125 1 1 21 122 1212 33
125 1 1 21 122 1212 38
我想创建一个像这样计算的额外列:
Subject Gender Datasource MHGCAT_COD_4 MHGCAT_COD_6 MHGCAT_COD_11 age_ga window
124 1 1 21 122 1212 38 0
124 1 1 21 122 1212 39 1
124 1 1 21 122 1212 41 3
124 1 1 21 122 1212 43 5
125 1 1 21 122 1212 33 0
125 1 1 21 122 1212 38 5
我正在使用 SAS 来执行此操作。谢谢!
附上图片以防格式混乱。
使用BY变量处理。
data want ;
set have ;
by subject age_ga ;
if first.subject then index_age = age_ga ;
retain index_age ;
window = age_ga - index_age;
run;