Як використовувати 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