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 ; 

таблица частот в SAS

Обратите внимание, что категории в настоящее время отсортированы в алфавитном порядке.

Чтобы отсортировать категории по частоте, мы можем использовать следующий синтаксис:

 /*create frequency table for Race variable, sorted by frequency*/
proc freq data =sashelp.BirthWgt order =freq;
	Race tables ;
run ; 

SAS PROC FREQ с опцией COMMAND

Обратите внимание, что категории теперь сортируются по частоте, от самой высокой к самой низкой.

К сожалению, нет встроенной возможности сортировки категорий по частоте, от самой низкой до самой высокой.

Однако вы можете использовать следующий обходной путь с оператором 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 PROC FREQ сортировка по возрастанию

Обратите внимание, что категории теперь сортируются по частоте, от самой низкой к самой высокой.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

SAS: Как использовать PROC FREQ с оператором WHERE
SAS: Как использовать PROC FREQ по группам
SAS: Как использовать PROC RANK

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *