Jak korzystać z proc rank w sas (z przykładami)


Możesz użyć PROC RANK w SAS-ie, aby obliczyć rangę jednej lub więcej zmiennych numerycznych.

Oto cztery najczęstsze sposoby korzystania z tej procedury:

Metoda 1: ranguj jedną zmienną

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

Metoda 2: klasyfikacja zmiennej według grupy

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

Metoda 3: Uszereguj zmienną w percentyle

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

Metoda 4: Klasyfikacja wielu zmiennych

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

Poniższe przykłady pokazują, jak używać każdej metody z następującym zbiorem danych w SAS-owym:

 /*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; 

Przykład 1: zmienna rangi pierwszej

Poniższy kod pokazuje, jak utworzyć nową zmienną o nazwie punkty_rank , która klasyfikuje punkty zdobyte przez każdą drużynę:

 /*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;

Zespół z największą liczbą punktów otrzymuje najwyższą pozycję w rankingu, a zespół z najmniejszą liczbą punktów otrzymuje najniższą pozycję w rankingu.

Każdemu remisowi w zdobytych punktach przypisuje się średnią rangę. Na przykład wiersze z pierwszą i drugą najniższą liczbą punktów otrzymują ocenę 1,5, ponieważ jest to średnia ocen 1 i 2.

Pamiętaj, że zamiast tego możesz użyć instrukcji malejącej , aby przypisać drużynie z największą liczbą punktów najniższą rangę:

 /*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; 

Przykład 2: zmienna rangi pierwszej na grupę

Poniższy kod pokazuje, jak utworzyć nową zmienną o nazwie punkty_rank , która klasyfikuje zdobyte punkty pogrupowane według drużyn:

 /*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; 

Przykład 3: Uszereguj zmienną w percentyle

Za pomocą instrukcji groups możemy sortować zmienne w grupy percentylowe. Na przykład każdą wartość punktową możemy sklasyfikować w kwartyl (cztery grupy):

 /*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;

Wierszom z wartościami punktowymi w najniższym kwartylu przypisuje się grupę 0 , wierszom z punktami w kolejnym najniższym kwartylu przypisuje się grupę 1 i tak dalej.

Uwaga : Aby przypisać wartości w decylach, po prostu użyj groups=10 .

Przykład 4: klasyfikacja wielu zmiennych

Poniższy kod pokazuje, jak utworzyć obie nowe zmienne klasyfikujące punkty i zbiórki :

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

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak korzystać ze podsumowania procedur w SAS-ie
Jak używać Proc Tabulate w SAS-ie
Jak korzystać z transpozycji PROC w SAS-ie
Jak tworzyć tabele częstości w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *