在 SPSS 中创建箱线图 - 快速指南

作者:Ruben Geert van den Berg,发布于 SPSS 图表

简介 & 练习数据文件

SPSS 中创建箱线图有 3 种方法:

  • Graphs(图形) SPSS 菜单箭头 Legacy Dialogs(旧对话框) SPSS 菜单箭头 Boxplot(箱线图)
  • Analyze(分析) SPSS 菜单箭头 Descriptive Statistics(描述统计) SPSS 菜单箭头 Explore(探索)
  • Graphs(图形) SPSS 菜单箭头 Chart Builder(图表构建器)

第一种方法最简单,但与其他方法相比,选项也较少。本教程将引导您完成所有 3 种方法,同时创建不同类型的箱线图。

  • 单变量箱线图 - 1 组案例
  • 多变量箱线图 - 1 组案例
  • 单变量箱线图 - 多组案例
  • 技巧 1 - 移除单个组的异常值
  • 技巧 2 - 在箱线图中显示异常值
  • 技巧 3 - 向箱线图添加标题

示例数据

本教程中的所有示例都使用 driving-test.sav 数据文件,部分数据如下所示。

SPSS 驾驶测试示例数据文件

我们的数据文件包含 N = 238 人的样本,他们在驾驶模拟器中接受了检查。参与者被呈现了 5 种危险情况,他们必须尽快做出反应。数据包含他们的反应时间和一些其他变量。

单变量箱线图 - 1 组案例

我们首先为所有案例的第一次试验的反应时间运行箱线图。一种选择是 Graphs(图形) SPSS 菜单箭头 Legacy Dialogs(旧对话框) SPSS 菜单箭头 Boxplot(箱线图),这将打开如下所示的对话框。

SPSS 从旧对话框创建箱线图

完成这些步骤将生成下面的 syntax(语法)

***Boxplot for r01 (all cases).
**
EXAMINE VARIABLES=r01
/COMPARE VARIABLE
/PLOT=BOXPLOT
/STATISTICS=NONE
/NOTOTAL
/ID=id
/MISSING=LISTWISE.

结果

SPSS 单变量单样本箱线图

我们的箱线图显示了一些潜在的异常值以及极值。解释这些值(以及所有其他箱线图元素)将在 箱线图 - 初学者教程 中讨论。另请注意,我们的箱线图尚未添加标题。有关添加标题的选项将在技巧 3 - 向箱线图添加标题 中讨论。

多变量箱线图 - 1 组案例

我们现在将为所有参与者的 5 个反应时间变量创建一个箱线图。我们导航到 Analyze(分析) SPSS 菜单箭头 Descriptive Statistics(描述统计) SPSS 菜单箭头 Explore(探索) 并填写如下所示的对话框。

SPSS 从“探索”对话框创建箱线图

“Dependents together”(因变量一起)表示所有因变量在每个箱线图中一起显示。如果输入一个因子(例如,性别),您将为每个因子水平(女性和男性受访者)获得一个单独的箱线图。“Factor levels together”(因子水平一起)为每个因变量创建一个单独的箱线图,在每个箱线图中显示所有因子水平。

“Exclude cases pairwise”(成对排除个案)表示每个变量的结果都基于在该变量上没有 missing value(缺失值) 的所有个案。“Exclude cases listwise”(列表式排除个案)仅使用在 所有 变量上没有任何缺失值的个案。

这里需要注意的一点是,许多 SPSS 用户在此对话框中选择“Normality plots and tests”(正态概率图和检验)来运行

无论如何,完成这些步骤将生成下面的 syntax(语法)。让我们运行它。

***Boxplot for comparing 5 variables on 1 group of cases.
**
EXAMINE VARIABLES=r01 r02 r03 r04 r05
/COMPARE VARIABLE
/PLOT=BOXPLOT
/STATISTICS=NONE
/NOTOTAL
/ID=id
**/MISSING=PAIRWISE /* IMPORTANT! */.**

结果

现在,在检查我们的箱线图之前,首先仔细查看 Case Processing Summary(个案处理摘要) 表。

SPSS 个案处理摘要

第一列显示了每个变量使用了多少个个案。请注意,试验 5 有 N = 205 或 86.1% 的缺失值。请记住,“Exclude cases listwise”(列表式排除个案)是“探索”对话框中的默认设置。如果我们没有更改它,那么我们的任何变量都不会使用超过 N = 33 个个案。但是,实际的箱线图不会显示任何错误。这确实是一个 主要陷阱。请避免它。

无论如何,下图显示了我们的实际箱线图。

SPSS 多变量单样本箱线图

请注意,我们在之前的示例中已经看到了第一个箱线图条。其次,试验 2 和 4 似乎是强烈 positively skewed(正偏斜)。这两个变量看起来都很奇怪。我们最好检查它们的直方图,看看实际发生了什么。

单变量箱线图 - 多组案例

我们现在将分别针对年龄组运行试验 3 的箱线图。我们首先导航到 Graphs(图形) SPSS 菜单箭头 Chart Builder(图表构建器) 并填写如下所示的对话框。

SPSS 从图表构建器创建箱线图

在此选项卡中选择“Point ID Label”(点 ID 标签),然后将 r03 拖放到画布上的 ID 框中。这样做将在最终的箱线图中显示实际的异常值。

完成这些步骤将生成下面的 syntax(语法)。

***Boxplot for comparing 3 age groups on 1 variable.
**
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=agegroup r03 MISSING=LISTWISE REPORTMISSING=NO
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: agegroup=col(source(s), name("agegroup"), unit.category())
DATA: r03=col(source(s), name("r03"))
GUIDE: axis(dim(1), label("Age Group"))
GUIDE: axis(dim(2), label("Reaction time trial 3"))
GUIDE: text.title(label("I CAN TYPE MY AMAZING TITLE RIGHT HERE!"))
SCALE: cat(dim(1), include("1", "2", "3"))
SCALE: linear(dim(2), include(0))
ELEMENT: schema(position(bin.quantile.letter(agegroup*r03)), label(r03))
END GPL.

结果

SPSS 多样本单变量箱线图

此箱线图显示,随着年龄的增长,medians(中位数) 和 standard deviations(标准差) 也在增加。请注意,我们的箱线图还显示了异常值。在此示例中,这些是反应时间为 1,441 和 1,455 毫秒的值,但仅适用于最年轻的年龄组。

技巧 1 - 移除单个组的异常值

如果想根据箱线图结果删除异常值,通常会将它们设置为 user missing values(用户缺失值)。例如,MISSING VALUES r03 (1441 THRU HI). 将 r03 的值 1441 及更高的值设置为缺失值。但是,在我们的示例中,这将不起作用:前面提到的值仅是年轻年龄组的潜在异常值。对于其他年龄组,它们处于正常范围内。

一种解决方案是将这些值转换为仅对最年轻的年龄组不同的值。一种选择是将 DO IFRECODE 结合使用。但是,下面的 syntax(语法) 显示了一个基于 IF 的更短选项。

***Quick checktable.
**
means r03 by agegroup
/cells count min max mean stddev.

***Recode potential outliers into 999999998 but only for agegroup 1.
**
if(agegroup = 1 and r03 >= 1441) r03 = 999999998.

***Set recoded outliers as user missing values.
**
missing values r03 (999999998).

***Apply value label to recoded outliers.
**
add value labels r03 999999998 'Value removed because outlier'.

***Rerun checktable.
**
means r03 by agegroup
/cells count min max mean stddev.

技巧 2 - 在箱线图中显示异常值

可以在箱线图中显示潜在异常值和极值的数据值。这仅在每个箱线图涉及单个因变量时才有效。只需也将此因变量用作 ID 变量。 唯一支持此功能的对话框是图表构建器。如果更喜欢其他对话框,则修改 syntax(语法)中的 /ID 子命令也可以实现此目的。

***Show potential outlier values and extreme values -if any- in boxplot.
**
EXAMINE VARIABLES=r03 BY agegroup
/PLOT=BOXPLOT
/STATISTICS=NONE
/NOTOTAL
**/ID=r03. /*Label outliers with actual data values.**

技巧 3 - 向箱线图添加标题

在 SPSS 箱线图中显示标题有 3 个选项:

  • 通过图表构建器创建箱线图,如示例 3 所示;
  • 使用具有固定标题和/或副标题的图表模板;
  • 在创建箱线图后手动添加标题。

对于最后一个选项,双击图表打开“Chart Editor(图表编辑器)”窗口。现在可以从 Options(选项)菜单添加标题。

SPSS 向图表添加标题

请注意,您可以在添加标题后对其进行调整。

最终说明

箱线图还有许多其他变体,尤其是聚类箱线图。但是,我认为在学习本教程后,您会很容易完成它们。