如何使用SAS中的proc函数提取整行的最大值和最小值?

问题描述 投票:0回答:1

我必须使用 SAS 过程函数来确定哪款运动鞋(变量 1)与最高和最低销售额(变量 2)匹配(同一行)。

当前代码:

PROC MEANS DATA = M4.sneaker min max; Class salesThisPeriod; RUN; 

variables sas max min observation
1个回答
0
投票

您可以尝试使用PROC MEANS(又名PROC SUMMARY)的OUTPUT语句的IDGROUP功能。但要获得最小值和最大值,您将需要编写两个输出数据集。

proc summary data=sashelp.class ;
  class sex;
  output out=min idgroup(min(sex age) out[1] (name age height weight)= );
  output out=max idgroup(max(sex age) out[1] (name age height weight)= );
run;

data both;
  length stat indsname $32 ;
  set min max indsname=indsname;
  stat=scan(indsname,-1,'.');
run;

结果

Obs    stat    Sex    _TYPE_    _FREQ_     Name     Age    Height    Weight

 1     MIN               0        19      Joyce      11     51.3       50.5
 2     MIN      F        1         9      Joyce      11     51.3       50.5
 3     MIN      M        1        10      Thomas     11     57.5       85.0
 4     MAX               0        19      Philip     16     72.0      150.0
 5     MAX      F        1         9      Janet      15     62.5      112.5
 6     MAX      M        1        10      Philip     16     72.0      150.0
© www.soinside.com 2019 - 2024. All rights reserved.