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;
以下是所用参数的描述 –
-
DATASET – 是使用的数据集的名称。
-
VARIABLE – 是用于绘制箱线图的值。
简单箱线图
在一个简单的箱线图中,我们从数据集中选择一个变量,然后选择另一个来形成一个类别。第一个变量的值被分类到与第二个变量中不同值的数量一样多的组中。
例子
在下面的示例中,我们选择变量马力作为第一个变量并键入作为类别变量。所以我们得到了每种汽车马力值分布的箱线图。
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;
当我们执行上面的代码时,我们得到以下输出 –