是否可以在 proc 的 stat 变量中获取指定值意味着输出?

Is it possible to get specified values in the stat variable of proc means output?

所以我正在努力生成摘要数据集。我只需要打印 N、MIN、MEDIAN、MAX、STD 的值。将结果作为单个变量stat中的统计信息,对我来说会很方便。但是如果我使用 proc 意味着在输出语句后没有指定统计信息,我只会得到默认的统计信息。有什么办法吗?这是我试过的。

PROC MEANS DATA=sashelp.class NWAY N MIN MAX MEDIAN STD;
 CLASS name;
 VAR height weight;
 OUTPUT OUT=output (DROP=_type_ _freq_ RENAME=(_stat_=stat)) ;
RUN;

它只显示默认统计数据。 无论如何,我可以在输出选项中指定统计信息,但我想要像我提供的代码那样的输出。 在此先感谢您的帮助。

没有

以“宽”格式生成它们,然后根据需要转换为“高”格式。

PROC SUMMARY DATA=sashelp.class NWAY N MIN MAX MEDIAN STD;
 CLASS name;
 VAR height weight;
 OUTPUT OUT=wide n= min= max= median= std= /autoname ;
RUN;

proc transpose data=wide(drop=_type_ _freq_) out=tall ;
  by name ;
run;

data tall ;
  set tall ;
  length Stat  ;
  stat = scan(_name_,-1,'_');
  _name_=substr(_name_,1,length(_name_)-length(stat)-1);
run;

proc transpose data=tall out=want(drop=_name_);
  by name stat notsorted;
  id _name_;
  var col1 ;
run;

结果:

Obs    Name       Stat      Height    Weight

  1    Alfred     N           1.0        1.0
  2    Alfred     Min        69.0      112.5
  3    Alfred     Max        69.0      112.5
  4    Alfred     Median     69.0      112.5
  5    Alfred     StdDev       .          .
  6    Alice      N           1.0        1.0
  7    Alice      Min        56.5       84.0
  8    Alice      Max        56.5       84.0
  9    Alice      Median     56.5       84.0
 10    Alice      StdDev       .          .
...