如何在 sas 中使用 proc tabulate(附示例)
您可以使用 SAS 中的proc tabulate以表格形式快速显示一个或多个变量的描述性统计数据。
以下示例展示了如何将此过程与以下数据集一起使用,该数据集显示 12 名不同篮球运动员的总得分:
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 15
A Guard 12
A Guard 29
A Forward 13
A Forward 9
A Forward 16
B Guard 25
B Guard 20
C Guard 34
C Forward 19
C Forward 3
C Forward 8
;
run ;
/*view dataset*/
proc print data =my_data;
示例 1:使用变量进行制表
我们可以使用以下代码来计算点变量的描述性统计量:
/*create table that displays descriptive stats for points variable */
proc tabulate data =my_data;
var points;
table points * (N Min Q1 Median Mean Q3 Max);
run ;
注意:括号中的值告诉 SAS 为点计算什么描述性统计量。
以下是一些最常用的描述性统计数据:
- N :观察总数
- 最小值:最小值
- Q1 :第一个分位数(即第 25 个百分位数)的值
- 中位数:中值
- 平均值:平均值
- Q3 :第三分位数(即第75个百分位数)的值
- 最大值:最大值
从结果我们可以看出:
- 观察总数为12 。
- 最小分值是3 。
- 第 25 个百分位数的点数为10.5 。
- 中位数点数为15.5 。
- 平均点数为16.92 。
- 第 75 个百分位数的点数为22.5 。
- 最大点数为34 。
从这五个值中,我们可以很好地了解 Weight 变量的值的分布。
示例 2:具有两个变量的过程制表
我们可以使用以下代码来计算点变量的描述性统计量,并按团队变量分组:
/*create table that displays descriptive stats for points, grouped by team */
proc tabulate data =my_data;
classteam ;
var points;
table team, points * (N Min Q1 Median Mean Q3 Max);
run ;
结果表显示了三支球队各自的描述性得分统计数据。
例如:
- A 队有6 个观察结果。
- A 队的最低分值是9 。
- A 队在第 25 个百分位数处的得分为12 。
- A 队的中位数得分是14 。
等等。
示例 3:具有三个变量的过程制表
我们可以使用以下代码来计算点变量的描述性统计数据,按团队和位置变量分组:
/*create table that shows descriptive stats for points, grouped by team and position */
proc tabulate data =my_data;
class team position;
var points;
table team, position *points* (N Min Q1 Median Mean Q3 Max);
run ;
结果表显示了积分的描述性统计数据,按球队和位置分组。
请注意,“B”队和“攻击者”位置的单元格为空,因为 B 队中没有球员拥有攻击者位置。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: