如何在 sas 中计算百分位数:示例


以下是在 SAS 中计算数据集百分位数的三种最常见方法:

方法一:计算特定百分位值

 /*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:计算特定百分位值

以下代码显示如何计算point变量的第 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中计算相关性

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注