Как использовать PROC RANK в SAS (с примерами)

Как использовать 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 $ points rebounds;
 datalines ;
A 25 10
A 18 4
A 18 7
A 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 в SAS
Как создать частотные таблицы в SAS

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.