Как использовать proc rank в sas (с примерами)


Вы можете использовать PROC RANK в SAS для расчета ранга одной или нескольких числовых переменных.

Вот четыре наиболее распространенных способа использования этой процедуры:

Метод 1: ранжируйте одну переменную

 proc rank data =original_data out =ranked_data;
   var var1;
   ranks var1_rank;
run ;

Способ 2: классифицировать переменную по группе

 proc rank data =original_data out =ranked_data;
   var var1;
   by var2;
   ranks var1_rank;
run ;

Метод 3: ранжируйте переменную по процентилям

 proc rank data =original_data groups =4 out =ranked_data;
   var var1;
   ranks var1_rank;
run ;

Метод 4: классифицируйте несколько переменных

 proc rank data =original_data out =ranked_data;
   var var1 var2;
   ranks var1_rank var2_rank;
run ;

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

 /*create dataset*/
data original_data;
    input team $pointsrebounds;
    datalines ;
At 25 10
At 18 4
At 18 7
At 24 8
B 27 9
B 33 13
B 31 11
B 30 16
;
run ;

/*view dataset*/
proc print data = original_data; 

Пример 1: переменная первого ранга

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

 /*rank points scored by team*/
proc rank data =original_data out =ranked_data;
   var points;
   ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data;

Команда, набравшая наибольшее количество очков, получает наивысший рейтинг, а команда с наименьшим количеством очков получает самый низкий рейтинг.

Любому равному количеству набранных очков присваивается средний рейтинг. Например, строки с первым и вторым наименьшим баллом получают рейтинг 1,5, поскольку это среднее значение 1 и 2.

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

 /*rank points scored by team in descending order*/
proc rank data =original_data descending out =ranked_data;
    var points;
    ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data; 

Пример 2: переменная первого ранга на группу

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

 /*rank points scored, grouped by team*/
proc rank data =original_data out =ranked_data;
    var points;
    by team;
    ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data; 

Пример 3. Ранжирование переменной по процентилям

Мы можем использовать оператор groups для сортировки переменных по процентильным группам. Например, мы можем классифицировать каждое значение балла в квартиль (четыре группы):

 /*rank points into quartiles*/
proc rank data =original_data groups =4 out =ranked_data;
   var points;
   ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data;

Строкам со значениями баллов в нижнем квартиле присваивается группа 0 , строкам со значениями баллов в следующем нижнем квартиле присваивается группа 1 и так далее.

Примечание . Чтобы присвоить значения в децилях, просто используйте groups=10 .

Пример 4: классифицировать несколько переменных

Следующий код показывает, как создать обе новые переменные для классификации очков и подборов :

 proc rank data =original_data out =ranked_data;
   var points rebounds;
   ranks points_rank rebounds_rank;
run ; 

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

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

Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как использовать PROC Transpose в SAS
Как создать таблицы частот в SAS

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

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