如何在 sas 中计算不同值:示例


您可以使用以下方法来统计 SAS 中数据集中的不同值:

方法1:计算列中不同值的数量

 proc sql ;
    select count( distinct var1) as distinct_var1
    from my_data;
quit ;

方法二:按组统计不同值

 proc sql ;
    select var1, count( distinct var2) as distinct_var2
    from my_data
    group by var1;
quit ;

以下示例展示了如何在实践中使用以下数据集的每种方法:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Mavs 10
Mavs 13
Mavs 13
Mavs 15
Mavs 15
Rockets 9
Rockets 10
Rockets 10
Spurs 18
Spurs 19
;
run ;

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

示例1:计算列中不同值的数量

以下代码展示了如何计算 team 列中不同值的总数:

 /*count distinct values in team column*/
proc sql ;
    select count( distinct team) as distinct_teams
    from my_data;
quit ;

从结果中我们可以看到team列中有3个不同的值。

我们可以通过观察三支不同的球队来手动确认这一点:小牛队、火箭队和马刺队。

示例2:按组对不同值进行计数

以下代码显示了如何计算点数列中的不同值(按团队列分组):

 /*count distinct values in points column, grouped by team*/
proc sql ;
    select team, count( distinct points) as distinct_points
    from my_data
    group by team;
quit ; 

SAS中计算不同值

结果表显示了点数列中不同值的数量,按每个团队分组。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在SAS中创建频率表
如何在 SAS 中按组对观察值进行计数
如何在 SAS 中使用 Proc Tabulate

添加评论

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