比方说,我有以下数据
Dataset name: TheTable
Name Age Height
Peter 21 1.6
Alexa 19 1.8
Rob 23 1.3
我想获得最大的年龄和身高,并将它们存储在表格中,如下所示
Dataset name: TheTableWithMax
Name Age Height MaxAge maxHeight
Peter 21 1.6 23 1.8
Alexa 19 1.8 23 1.8
Rob 23 1.3 23 1.8
原因是我必须在每个变量和该变量的最大值之间进行比较。我怎样才能在SAS中做到这一点?
我已经考虑过以下操作以获取Age列的最大值(对于Height列将执行相同的过程)
proc sort data = TheTable (obs=1) out=MaxAge (keep = Age);
by descending Age;
run;
但是,我不知道如何将其与原始TheTable合并以获得TheTablewithMax。
非常感谢任何帮助。
答案 0 :(得分:1)
使用proc sql
和汇总函数可以轻松完成此操作,例如max()
:
proc sql;
create table TheTableWithMax as
select *
,max(age) as MaxAge
,max(height) as MaxHeight
from TheTable
;
quit;