PROC表示为所有数字变量输出MIN MAX MEDIAN

Mar*_*sen 3 sas

我对这里提出的问题有类似的情况.但是,我不想在var语句中列出我的300个变量名,因为它们都是唯一的.有没有办法使用proc meansproc summary输出一个数据集中所有数值变量的汇总统计信息?

我试过了:

proc means data=my_data min median max;
    output out=summary_data min=min median=median max=max;
run;
Run Code Online (Sandbox Code Playgroud)

但这仅输出第一个变量的摘要统计信息.我也尝试过以下方面的帮助ods trace:

proc means data=my_data min median max;
    ods output Summary=summary_data;
run;
Run Code Online (Sandbox Code Playgroud)

这给了我所有变量的摘要统计信息,但仍然在一行中:

VName_VAR1 VAR1_Minimum VAR1_Median VAR1_Maximum VName_VAR2 VAR2_Minimum etc...
VAR1       3            3           3            VAR2       3         
Run Code Online (Sandbox Code Playgroud)

我的VAR名称都是唯一的.是否有其他方法可以使用proc meansproc summary输出一个数据集中所有数值变量的汇总统计信息?

更新:

当我删除min=min median=median max=max:

proc means data=my_data min median max;
    output out=summary_data;
run;
Run Code Online (Sandbox Code Playgroud)

然后代码生成输出:

 Obs  _TYPE_ _FREQ_ _STAT_   VAR_1    VAR_2 ... etc

 1    0      91     N          91.00  91    ... etc
 2    0      91     MIN      2005.00  13         .
 3    0      91     MAX      2014.00  13         .
 4    0      91     MEAN     2009.34  13         .
 5    0      91     STD         3.02   0
Run Code Online (Sandbox Code Playgroud)

但是,它仍然没有给我MEDIAN.

Mar*_*sen 6

当我在使用之前转置数据时,proc means我得到了所需的输出.

proc sort data=sashelp.cars out=cars; by _character_;run;

proc transpose data=cars out=cars_t;
  var _numeric_;
  by _character_;
run;

proc sort data=cars_t;by _name_;run;

proc means data=cars_t noprint;
  output out=cars_summary(drop = _type_ _freq_) min=min median=median max=max;
  by _name_;
run;
Run Code Online (Sandbox Code Playgroud)

然后代码生成输出:

Obs    _NAME_             min     median         max

 1    Cylinders          3.0        6.0        12.0
 2    EngineSize         1.3        3.0         8.3
 3    Horsepower        73.0      210.0       500.0
 4    Invoice         9875.0    25294.5    173560.0
 5    Length           143.0      187.0       238.0
 6    MPG_City          10.0       19.0        60.0
 7    MPG_Highway       12.0       26.0        66.0
 8    MSRP           10280.0    27635.0    192465.0
 9    Weight          1850.0     3474.5      7190.0
10    Wheelbase         89.0      107.0       144.0
Run Code Online (Sandbox Code Playgroud)

如果您的原始数据中的每一行都有唯一的ID,则此方法有效.

  • +1比我的答案更好,因为你可以要求其他单变量统计数据,如均值,标准偏差等.但仍然不应该这么难...... (3认同)