Sas: как использовать proc freq с опцией order
Вы можете использовать PROC FREQ с опцией ORDER=FREQ в SAS, чтобы создать таблицу частот, в которой категории в таблице отсортированы по частоте.
Для этого вы можете использовать следующий синтаксис:
proc freq data=my_data order =freq;
tables my_variable;
run ;
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: использование PROC FREQ с опцией ORDER в SAS.
В этом примере мы будем использовать встроенный набор данных SAS под названием BirthWgt , который содержит различные характеристики 100 000 матерей, которые недавно родили ребенка.
Мы можем использовать PROC PRINT для отображения первых 10 наблюдений в этом наборе данных:
/*view first 10 observations from BirthWgt dataset*/ proc print data =sashelp.BirthWgt( obs = 10 ); run ;
Мы можем использовать следующий код для создания таблицы частот для переменной Race:
/*create frequency table for Race variable*/
proc freq data =sashelp.BirthWgt;
Race tables ;
run ;
Обратите внимание, что категории в настоящее время отсортированы в алфавитном порядке.
Чтобы отсортировать категории по частоте, мы можем использовать следующий синтаксис:
/*create frequency table for Race variable, sorted by frequency*/
proc freq data =sashelp.BirthWgt order =freq;
Race tables ;
run ;
Обратите внимание, что категории теперь сортируются по частоте, от самой высокой к самой низкой.
К сожалению, нет встроенной возможности сортировки категорий по частоте, от самой низкой до самой высокой.
Однако вы можете использовать следующий обходной путь с оператором PROC SORT для сортировки по частоте, от самой низкой до самой высокой:
/*create frequency table and store results in Racefreq*/
proc freq data=sashelp.BirthWgt noprint ;
tables Race / out =Racefreq;
run ;
/*sort Racefreq based on frequency from lowest to highest*/
proc sort data =Racefreq;
by count;
run ;
/*create new dataset with cumulative freq and cumulative percent*/
data freq_low_to_high;
set Racefreq;
cumcount + count;
cumcent + percent;
run ;
/*view results*/
proc print data =freq_low_to_high;
Обратите внимание, что категории теперь сортируются по частоте, от самой низкой к самой высокой.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
SAS: Как использовать PROC FREQ с оператором WHERE
SAS: Как использовать PROC FREQ по группам
SAS: Как использовать PROC RANK