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