统计图形语法
统计图形语法(grammar of graphics)是一种描述统计图构造过程的方法:先确定每行数据代表什么,再说明变量怎样对应图上的位置或外观,哪些图形直接画观察值,哪些图形先经过统计汇总。这样做的用处不是给图起一个新名字,而是让图上的每个点、线和数字都能追溯到数据与计算。
六次到场记录成为六个点
设有六次到场记录,每次保存路程和用时。以下均为合成教学数据,单位分别为千米和分钟。
| 记录 | 路程 | 用时 |
|---|---|---|
| 1 | 1 | 4 |
| 2 | 1 | 5 |
| 3 | 2 | 6 |
| 4 | 2 | 7 |
| 5 | 3 | 9 |
| 6 | 3 | 10 |
一行是一趟到场,不是一个人一生的平均用时。把路程映射到横坐标 ,用时映射到纵坐标 ,以点表示每一行,就得到左图。它有六个观察值,虽然横坐标只有三个不同的数。若路程与用时原本来自不同人的两个列表,重新分别排序再配对,会改变这些点,因而也改变所讨论的关系;散点图词条进一步说明配对与相关系数。
加一层摘要,不丢掉原始记录
若问题改成“同一路程的平均用时是多少”,先按路程分组,然后计算每组的样本均值。对于一千米的两次记录, 分钟;同样得到 与 分钟。右图把均值点叠在六个原始点上。颜色和较大的点形帮助区分两种对象,图注则说明它们各自代表什么。
这里出现了两个不同的图层:原始点层直接使用六条记录;均值层使用由六条记录算出的三条分组摘要。用一条线连接三个均值点,会额外暗示中间路程上的用时沿某种轨迹变化;目前没有这些路程的观测,故图中没有加线。折线图中的连接也要由时间或其他有序坐标及研究问题支持。
图层还可画均值的不确定区间、回归线或参考阈值,但画法本身不会自动证明模型合适。叠加回归线之前,应交代它根据哪些观察值拟合,线是估计的条件均值、预测值还是人为标出的目标。若改变样本筛选条件,点层与计算层都须按同一筛选范围重新构造。
位置、尺度与标记分别承担什么
此图用点的位置表示两个有单位的数量。横轴标成千米、纵轴标成分钟,读者才能把图上的 读回“路程两千米、用时七分钟”。若把路程改用米表示,第二条轴刻度会从 变成 ,但数据关系未变。若改用对数轴,数值之间的可见间距也会变,且零和负值不能直接放在普通对数轴上;此时需要清楚标注变换与适用范围。
颜色、形状和大小也能承载变量。若另有真实的交通方式分组,可让每种方式对应一种颜色并给出图例;把所有点统一涂为浅色,仅是固定的绘图样式,不能反推出“浅色”是一列数据。两个点完全重合时,改变透明度、显示重合次数或轻微错开显示,是为了让重叠可见;错开后的屏幕位置不应被当成新的测量值。
同一组变量也可用不同的图形几何对象。直方图中的矩形先由分箱计数或密度计算得到,条形图的长度常表示类别频数,箱线图则先算中位数和四分位数。统计变换、图形对象和坐标刻度各自回答不同问题;只说“画一个柱状图”,还不足以知道柱高到底是人数、均值还是百分比。
分面保留各组的比较基准
当记录还带有地区或处理组,可用颜色在同一画面区别,也可用分面图把各组排成多个小图。若目的是比较绝对水平,应先让各分面共用坐标尺度。若目的是看各组内部形状,自由尺度可以显示更多细节,但图中一厘米的高度可能对应不同数值跨度;不再能只凭两条线的屏幕高度比较大小。
图形成品应同时交代观察单位、时间和样本范围,轴上单位,颜色及线型含义,任何分组、分箱或平滑的计算约定,以及缺测值的处理。这样读者才可以沿着“原始记录—计算—画出的标记”检查结论。读者若想复算图中的一个数,可以先遮住图注,试着从上表算出右图在两千米处金色点的纵坐标: 分钟。
参考资料
- ggplot2 官方介绍:图形组件与图层,说明数据、映射、图层、尺度和分面的构造关系。
- Hadley Wickham,《ggplot2: Elegant Graphics for Data Analysis》及其中译本《ggplot2:数据分析与图形艺术》,图形语法与统计图设计的参考著作。
- NIST/SEMATECH:探索性数据分析,图形与数值分析在探索中的作用。