Як обчислити процентили в sas: із прикладами


Ось три найпоширеніші способи обчислення процентилів для набору даних у SAS:

Спосіб 1: обчисліть конкретне процентильне значення

 /*calculate 70th percentile value for var1*/
proc univariate data =original_data;
    var var1;
    output out =percentile_data
pctlpts = 70
    pctlpre = P_;
run ;

Спосіб 2: обчислення кількох конкретних процентильних значень

 /*calculate 70th, 80th, and 90th percentile value for var1*/
proc univariate data =original_data;
    var var1;
    output out =percentile_data
    pctlpts = 70 80 90
    pctlpre = P_;
run ;

Спосіб 3: розрахувати процентилі по групах

 /*sort original data by var2*/
proc sort data = original_data;
    by var2;
run ;

/*calculate percentiles for var1 grouped by var2*/
proc univariate data =original_data;
    var var1;
    by var2;
    output out =percentile_data
    pctlpts = 70, 80, 90
    pctlpre = P_;
run ;

Примітка . Інструкція pctlpts визначає процентилі для обчислення, а інструкція pctlpre визначає префікс для використання процентилів у виводі.

У наведених нижче прикладах показано, як використовувати кожен метод із таким набором даних у SAS:

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
AT 12
At 15
At 16
At 21
At 22
At 25
At 29
At 31
B16
B22
B25
B29
B 30
B 31
B 33
B 38
;
run ;

/*view dataset*/
proc print data = original_data; 

Приклад 1: обчисліть конкретне значення процентиля

У наступному коді показано, як обчислити 70-й процентиль для змінної балів :

 /*calculate 70th percentile value for points*/
proc univariate data =original_data;
    var points;
    output out =percentile_data
    pctlpts = 70
    pctlpre = P_;
run ;

/*view results*/
proc print data =percentile_data;

Значення на 70-му процентилі виявляється рівним 30 .

Приклад 2: обчисліть кілька конкретних значень процентиля

У наступному коді показано, як обчислити значення 70-го, 80-го та 90-го процентиля для змінної Points :

 /*calculate 70th, 80th, and 90th percentile value for points*/
proc univariate data =original_data;
    var points;
    output out =percentile_data
    pctlpts = 70 80 90
    pctlpre = P_;
run ; 

Ось як інтерпретувати результат:

  • Значення на 70-му процентилі становить 30 .
  • Значення на 80-му процентилі становить 31 .
  • Значення 90-го процентиля дорівнює 33 .

Приклад 3: обчислення процентилів за групами

Наступний код показує, як обчислити значення на 70-му, 80-му, 90-му та 95-му процентилях для змінної балів , згрупованих за змінною team :

 /*sort original data by team*/
proc sort data = original_data;
    by team;
run ;

/*calculate percentiles for points grouped by team*/
proc univariate data =original_data;
    var points;
    by team;
    output out =percentile_data
    pctlpts = 70 , 80 , 90 95
    pctlpre = P_;
run ; 

Вихідна таблиця відображає значення 70-го, 80-го, 90-го та 95-го процентилів для змінної очок для команд A та B.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Як використовувати зведення процедур у SAS
Як створити частотні таблиці в SAS
Як розрахувати кореляцію в SAS

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

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