请注意,我们在第一个示例中创建名为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是用于绘制Boxplot的值。
简单的箱形图
在一个简单的箱线图中,我们从数据集中选择一个变量,另一个变量形成一个类别。 第一变量的值被分类为与第二变量中的不同值的数量一样多的组数。
例
在下面的示例中,我们选择变量马力作为第一个变量,并键入类别变量。 因此,我们得到每种类型的汽车的马力值分布的箱线图。
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;
垂直面板中的箱线图
我们可以将一个变量的Boxplots分成许多垂直面板(列)。 每个面板包含所有分类变量的箱线图。 但是盒图使用另一个第三个变量进一步分组,该图将该图分成多个面板。
例
在下面的例子中,我们使用变量'make'来绘制图形。 因为'make'有两个不同的值,所以我们得到两个垂直面板。
PROC SGPANEL DATA=CARS1; PANELBY MAKE; VBOX horsepower / category = type; title 'Horsepower of cars by types'; RUN;
当我们执行上面的代码,我们得到以下的输出:
水平面板中的箱形图
我们可以将一个变量的Boxplots分成许多水平面板(行)。 每个面板包含所有分类变量的箱线图。 但是盒图使用另一个第三个变量进一步分组,该图将该图分成多个面板。 在下面的例子中,我们使用变量'make'来绘制图形。 因为'make'有两个不同的值,所以我们得到两个水平面板。
PROC SGPANEL DATA=CARS1; PANELBY MAKE / columns = 1 novarname; VBOX horsepower / category = type; title 'Horsepower of cars by types'; RUN;