- SAS 教程
- SAS - 首页
- SAS - 概述
- SAS - 环境
- SAS - 用户界面
- SAS - 程序结构
- SAS - 基本语法
- SAS - 数据集
- SAS - 变量
- SAS - 字符串
- SAS - 数组
- SAS - 数值格式
- SAS - 运算符
- SAS - 循环
- SAS - 决策
- SAS - 函数
- SAS - 输入方法
- SAS - 宏
- SAS - 日期和时间
- SAS 数据集操作
- SAS - 读取原始数据
- SAS - 写入数据集
- SAS - 合并数据集
- SAS - 合并数据集
- SAS - 子集数据集
- SAS - 排序数据集
- SAS - 格式化数据集
- SAS - SQL
- SAS - 输出传递系统
- SAS - 模拟
- SAS 基本统计过程
- SAS - 算术平均数
- SAS - 标准差
- SAS - 频数分布
- SAS - 交叉表
- SAS - t检验
- SAS - 相关分析
- SAS - 线性回归
- SAS - Bland-Altman 分析
- SAS - 卡方检验
- SAS - Fisher 精确检验
- SAS - 重复测量分析
- SAS - 单因素方差分析
- SAS - 假设检验
- SAS 有用资源
- SAS - 快速指南
- SAS - 有用资源
- SAS - 问答
- SAS - 讨论
SAS - 箱线图
箱线图是通过四分位数对数值数据组进行图形表示。箱线图也可能在框体上延伸出垂直线(须线),指示上四分位数和下四分位数之外的变异性。框体的底部和顶部始终是第一和第三四分位数,框体内的带状区域始终是第二四分位数(中位数)。在 SAS 中,使用 **PROC SGPLOT** 创建简单的箱线图,使用 **PROC SGPANEL** 创建面板箱线图。
请注意,我们在第一个示例中创建了一个名为 CARS1 的数据集,并在所有后续数据集中使用相同的数据集。此数据集在 SAS 会话结束之前一直保留在工作库中。
语法
在 SAS 中创建箱线图的基本语法如下:
PROC SGPLOT DATA = DATASET; VBOX VARIABLE / category = VARIABLE; RUN; PROC SGPANEL DATA = DATASET;; PANELBY VARIABLE; VBOX VARIABLE> / category = VARIABLE; RUN;以下是所用参数的说明:
**数据集** - 是所用数据集的名称。
**变量** - 是用于绘制箱线图的值。
简单箱线图
在简单箱线图中,我们从数据集中选择一个变量作为第一个变量,另一个变量作为类别变量。第一个变量的值被分类为与第二个变量中不同值的个数一样多的组。
示例
在下面的示例中,我们选择变量 horsepower 作为第一个变量,type 作为类别变量。因此,我们获得了每种类型汽车的 horsepower 值分布的箱线图。
PROC SQL; create table CARS1 as SELECT make, model, type, invoice, horsepower, length, weight FROM SASHELP.CARS WHERE make in ('Audi','BMW') ; RUN; PROC SGPLOT DATA = CARS1; VBOX horsepower / category = type; title 'Horsepower of cars by types'; RUN;
执行上述代码后,我们将获得以下输出:
垂直面板中的箱线图
我们可以将一个变量的箱线图划分为多个垂直面板(列)。每个面板包含所有类别变量的箱线图。但是,箱线图将使用另一个第三个变量进一步分组,该变量将图形划分为多个面板。
示例
在下面的示例中,我们使用变量“make”对图形进行了面板化。由于“make”有两个不同的值,因此我们得到了两个垂直面板。
PROC SGPANEL DATA = CARS1; PANELBY MAKE; VBOX horsepower / category = type; title 'Horsepower of cars by types'; RUN;
执行上述代码后,我们将获得以下输出:
水平面板中的箱线图
我们可以将一个变量的箱线图划分为多个水平面板(行)。每个面板包含所有类别变量的箱线图。但是,箱线图将使用另一个第三个变量进一步分组,该变量将图形划分为多个面板。在下面的示例中,我们使用变量“make”对图形进行了面板化。由于“make”有两个不同的值,因此我们得到了两个水平面板。
PROC SGPANEL DATA = CARS1; PANELBY MAKE / columns = 1 novarname; VBOX horsepower / category = type; title 'Horsepower of cars by types'; RUN;
执行上述代码后,我们将获得以下输出: