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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *