Sas でパーセンタイルを計算する方法: 例付き


SAS でデータセットのパーセンタイルを計算する最も一般的な 3 つの方法は次のとおりです。

方法 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: 特定のパーセンタイル値を計算する

次のコードは、 points変数の 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: 複数の特定のパーセンタイル値を計算する

次のコードは、 points変数の 70、80、および 90 パーセンタイル値を計算する方法を示しています。

 /*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 パーセンタイルの値を計算する方法を示しています。

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

出力テーブルには、チーム A と B のポイント変数の 70、80、90、および 95 パーセンタイル値が表示されます。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS での手順の概要の使用方法
SAS で度数表を作成する方法
SAS で相関関係を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です