Для output
наборов данных в proc means
вам необходимо указать, какую статистику вы хотите использовать в операторе output
.Думайте, что оператор proc
контролирует только визуальный вывод.Попробуйте вместо этого:
proc means data=sashelp.cars;
var horsepower MPG_City MPG_Highway;
output out=output
sum=
mean=
median=
std=
min=
max=
p10=
p25=
p75=
p90=
/ autoname
;
run;
Обратите внимание, что ни одна из статистических данных не имеет ничего после =
.Опция autoname
автоматически называет статистические переменные.
Чтобы было проще читать, мы можем изменить формат выходной таблицы.Соглашение об именах всех переменных <variable>_<statistic>
.Зная это, мы можем транспонировать таблицу, отделить переменную и статистику от имени, а затем перенести ее в более удобный формат.
proc transpose data=output out=output_transposed;
var _NUMERIC_;
run;
data _want(index=(variable) );
set output_transposed;
Stat = scan(_NAME_, -1, '_');
Variable = tranwrd(_NAME_, cats('_', Stat), '');
keep Variable Stat COL1;
rename COL1 = Value;
run;
proc transpose data=_want out=want(drop=_NAME_);
by variable;
id stat;
var Value;
run;