现代统计图形
谢益辉
2010 年 8 月 13 日
版权声明
本书电子版采用Creative Commons(简称CC)许可证“署名—非商
业性使用—相同方式共享2.5 中国大陆”,该许可证的全文可以从http://
creativecommons.org/licenses/by-nc-sa/2.5/cn/获得;一份普通人可
以理解的法律文本概要可以从http://creativecommons.org/licenses/
by-nc-sa/2.5/cn/legalcode获得。
责任权利
本CC许可证赋予读者复制、发行、展览、表演、放映、广播或通过信
息网络传播本作品以及创作演绎作品的自由,而无需向原作者征求许可或
支付任何费用;本许可证与出版社版权独立,因此复制、 传播或演绎本作
品也无须征求出版社许可。您需要遵循的条件是:
• 声明原作者的署名(Attribution):不得将本作品归为自己的劳动
• 不得将本作品用于商业目的(Noncommercial)
• 基于本作品的演绎作品须遵守同样许可证发布(Share Alike)
作者采用CC许可证的考虑主要有三点:
• 让读者能免费、自由获得本书,节省经济支出;在有网络和电子文档
的时代,我们应该充分利用这些工具的优势,如传播快捷、读者交流
反馈方便(以便提高书籍质量)等
• 版权的本来意义不在于控制所有权,它只不过是为了对原创者的一种
署名激励;如果版权的存在妨碍了知识的传播,那么本人认为版权就
没有太大的意义;CC许可证中的“非商业”和“同样许可证”限制条
款在书籍出版14年后会自动取消,即读者可以用于商业目的或更改至
其它许可证;CC许可证规定的14年似乎是很长的时间,但读者须知:
通常的版权只有在原作者去世后50年才会被取消! 换句话说,版权告
诉我们一个很深刻的哲理:长寿是很重要的
• 自由软件用户往往有某种痴狂的特征,而这种痴狂往往来源于自由软
件的分享精神;R语言让本人受益颇多,这本书可视作是对它的一种
回馈;既然R语言是自由的,那么本书也将尽量“自由”
特别声明
尽管CC许可证没有限制作品的传播方式,但本作者不愿看到本书被
任何人以论坛附件的方式发布在任何论坛,原因是本书稿尚未成熟,或许
有诸多不完善之处甚至严重错误,作者在不断更新中,若要传播本书稿给
他人,请仅仅给出本书的原始链接http://yihui.name/cn/publication/,
否则作者对传播过程中的错误概不负责。
捐赠说明
如果本书对您有任何帮助,您不妨考虑为“统计之都”网站(自愿)捐
赠:http://cos.name/donate/;捐赠对象非作者本人,但本作者将从一
定程度上根据捐赠情况判断本书工作的价值。 捐赠所得将用于推广统计学
和自由统计软件。捐赠之后请及时告知网站管理人员:admin@cos.name。
致谢
本书写作过程中收到了不少读者反馈,在此一并致谢。 感谢魏太云对
本书文字的校对和建议;感谢赵彦云老师对本书书名和写作风格的建议;
感谢李皞对写lattice系统和rgl包的提议;感谢李丰的“彩蛋”建议;感谢
王晓伟、 李承文、FreemanZY、agri521、annidy、Zhanwu Dai耗费眼神
帮我挑选了本书第一例彩蛋(图4.5)。
欢迎更多意见和建议,包括:
• 内容是否全面,如:有哪些您经常用而且觉得有用的图形这里没有收
录
• 主题是否清楚,如:数学、统计理论与图形的对应关系
• 指引是否充分,如:读完某一节是否知道该怎么做
• 文字是否自然,如:有没有“爱上层楼”现象或者过于古板或过于口
语化
• 案例是否实用,如:满篇模拟的数据而没有实际数据,或者数据离您
的领域太远
目录
序言
.
代序一 .
代序二 .
.
作者导读 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
第一章 历史
. . . . . . . . . . . . . . . . . . . . . . .
1.1 饼图和线图的起源 .
.
. . . . . . . . . . . . . . . . . . . . . .
1.2 霍乱传染之谜 .
.
1.3 提灯女士的玫瑰图 .
. . . . . . . . . . . . . . . . . . . . . . .
1.4 拿破仑的俄罗斯远征 . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
1.5 小结与开始 .
.
.
.
.
.
.
.
.
.
.
第二章 工具
2.1 选择作图工具 .
.
2.2 R语言简介 .
2.3 安装R语言 .
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
第三章 细节
3.1
3.2
par()函数的参数详解 . . . . . . . . . . . . . . . . . . . . . . .
plot()及相关函数的参数说明 . . . . . . . . . . . . . . . . . . .
第四章 元素
4.1 颜色 .
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . .
4.1.1 固定颜色选择函数 . . . . . . . . . . . . . . . . . . . .
4.1.2 颜色生成和转换函数 . . . . . . . . . . . . . . . . . . .
4.1.3 特定颜色主题调色板 . . . . . . . . . . . . . . . . . . .
i
i
i
i
1
1
2
4
4
7
11
11
13
17
21
22
30
33
34
34
36
38
I
.
4.1.4 渐变色的简单原理及应用 . . . . . . . . . . . . . . . .
4.2 点 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 曲线、直线、线段、箭头、X-样条 . . . . . . . . . . . . . . .
4.4 矩形、多边形 . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 网格线 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 标题、任意文本、周边文本 . . . . . . . . . . . . . . . . . . .
4.7 图例 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
4.8 坐标轴 .
.
.
.
.
40
43
47
50
53
53
54
56
第五章 图库
61
61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 直方图 .
65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 茎叶图 .
69
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 箱线图 .
73
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 条形图 .
75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 散点图 .
76
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 关联图 .
79
5.7 条件密度图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
5.8 等高图 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
5.9 条件分割图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
5.10 一元函数曲线图 . . . . . . . . . . . . . . . . . . . . . . . . . .
90
5.11 Cleveland点图 . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
5.12 颜色等高图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
93
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.13 四瓣图 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
5.14 颜色图 .
97
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.15 矩阵图 .
5.16 马赛克图 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.17 散点图矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.18 三维透视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.19 因素效应图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.20 坐标轴须 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.21 平滑散点图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.22 棘状图 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.23 星状图 .
5.24 带状图 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
II
.
.
.
.
.
.
.
.
.
.
.
.
.
5.25 向日葵散点图 .
.
.
5.26 符号图 .
.
.
.
.
5.27 饼图 .
.
.
5.28 热图 .
.
.
.
.
.
5.29 交互效应图 .
.
.
5.30 QQ图 .
.
.
5.31 生存函数图 .
.
.
5.32 分类与回归树图 .
.
.
5.33 小提琴图 .
.
5.34 地图 .
.
.
.
.
5.35 脸谱图 .
.
.
.
5.36 平行坐标图 .
5.37 调和曲线图 .
.
.
5.38 二维箱线图 .
.
.
5.39 误差线图 .
5.40 习题 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
第六章 系统
.
lattice图形 .
.
6.1 网格图形 .
6.2
.
6.3 ggplot2图形 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . 122
.
. . . . . . . . . . . . . . . . . . . . . . 124
. . . . . . . . . . . . . . . . . . . . . . . 127
. . . . . . . . . . . . . . . . . . . . . . . 130
. . . . . . . . . . . . . . . . . . . . . . . 133
.
. . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . 138
.
. . . . . . . . . . . . . . . . . . . . . . 140
. . . . . . . . . . . . . . . . . . . . . . . 142
. . . . . . . . . . . . . . . . . . . . . . . 144
. . . . . . . . . . . . . . . . . . . . . . . 146
.
. . . . . . . . . . . . . . . . . . . . . . 149
. . . . . . . . . . . . . . . . . . . . . . . 151
. . . . . . . . . . . . . . . . . . . . . . . 155
. . . . . . . . . . . . . . . . . . . . . . . 157
. . . . . . . . . . . . . . . . . . . . . . . 157
159
. . . . . . . . . . . . . . . . . . . . . . . 159
. . . . . . . . . . . . . . . . . . . . . . 160
.
.
. . . . . . . . . . . . . . . . . . . . . . 160
第七章 模型
.
.
.
.
.
.
.
7.1 线性回归模型 .
7.2 方差分析 .
.
.
7.3 非参数回归模型 .
161
. . . . . . . . . . . . . . . . . . . . . . . 161
. . . . . . . . . . . . . . . . . . . . . . . 162
.
. . . . . . . . . . . . . . . . . . . . . . 162
7.3.1 局部加权回归散点平滑法 . . . . . . . . . . . . . . . . 162
7.4 稳健回归模型 .
.
. . . . . . . . . . . . . . . . . . . . . . 162
7.5 广义线性模型 .
. . . . . . . . . . . . . . . . . . . . . . . 162
7.6 分类数据模型和列联表 . . . . . . . . . . . . . . . . . . . . . . 162
7.7 混合效应模型 .
. . . . . . . . . . . . . . . . . . . . . . . 162
7.8 主成分分析和因子分析 . . . . . . . . . . . . . . . . . . . . . . 163
. . . . . . . . . . . . . . . . . . . . . . 163
7.9 聚类分析 .
7.10 判别分析 .
. . . . . . . . . . . . . . . . . . . . . . 163
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
III
7.11 对应分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.12 多维标度分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.13 时间序列模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.14 生存分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
7.15 空间统计学 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
7.16 数据挖掘和机器学习 . . . . . . . . . . . . . . . . . . . . . . . 164
7.16.1 分类与回归树 . . . . . . . . . . . . . . . . . . . . . . . 164
7.16.2 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . 164
7.16.3 支持向量机 . . . . . . . . . . . . . . . . . . . . . . . . 164
第八章 数据
165
8.1 离散数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.1.1 一维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.1.2 多维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.2 连续数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.2.1 一维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.2.2 二维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.2.3 高维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.3 混合数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.3.1 一维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.3.2 二维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.3.3 高维数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 166
附录 A 程序初步
167
A.1 对象类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
A.1.1 向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
A.1.2 因子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
A.1.3 数组和矩阵 . . . . . . . . . . . . . . . . . . . . . . . . 172
A.1.4 数据框和列表 . . . . . . . . . . . . . . . . . . . . . . . 175
A.1.5 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
A.2 操作方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
A.2.1 选择与循环 . . . . . . . . . . . . . . . . . . . . . . . . 178
A.2.2 输入与输出 . . . . . . . . . . . . . . . . . . . . . . . . 179
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
A.3 习题 .
.
.
IV