R 与统计图形 刘思喆 谢益辉 第三届中国 R 语言会议 @ 上海财经大学 2010 年 11 月 14 日 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 1 / 47
目录 1 历史 2 输出和设备输出设备 3 一般性统计绘图高级低级 参数和颜色 4 扩展通用特殊交互动画图库 5 模型 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 2 / 47
历史 1 历史 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 3 / 47
历史 图形的各个历史时期 : Pre - 17th Century: Early maps and diagrams 1600-1699: Measurement and theory 1700-1799: New graphic forms 1800-1850: Beginnings of modern graphics 1850-1900: The Golden Age of statistical graphics 1900-1950: The modern dark ages 1950-1975: Re-birth of data visualization 1975 - present: High-D, interactive and dynamic data visualization 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 4 / 47
历史 19 世纪后期是数据可视化的黄金时期 ;20 世纪中叶以后, 随着计算机技术的发展, 可视化技术又一次重生 数据可视化历史中, 各个时期里程碑事件的分布, 由密度估计和坐标须展示 来源 :Handbook of Computational Statistics: Data Visualization(2006) 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 5 / 47
历史绘图历史上最好的图形 (1869): 拿破仑远征俄国 The French engineer, Charles Minardi (1781-1870), illustrated graphically the disastrous campaign of Napoleon against Russia in 1812. The width of the course is proportional to the number of surviving soldiers in the war campaign. In beige for the way in and in black for the return. 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 6 / 47
历史 Edward Muybridge 的赛马动画 (1877) 来源 :http://didyouknow.org/how-a-horse-kicked-off-the-movie-industry/ 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 7 / 47
输出和设备 2 输出和设备 输出 设备 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 8 / 47
输出和设备 输出 图形输出 当用户发出绘图命令后,R 会自动弹出图形窗口 图形窗口上, 可选择 save 的文件类型 saveplot 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 9 / 47
R 基础图形设备 输出和设备 设备 名称 R 图形设备 描述 屏幕 x11 X 窗口 显示 windows Windows 窗口 postscript ps 格式文件 pdf pdf 格式文件 pictex 供 L A TEX 使用的文件文件 png png 格式文件 设备 jpeg jpeg 格式文件 bmp bmp 格式文件 xfig 供 XFIG 使用的图形格式 win.metafile a emf 格式的文件 a 仅在 Windows 下有效 R 同时支持 Cairo 图形设备, 这种图形设备可以支持高质量的矢量绘图 (PDF,PostScript and SVG), 高质量的点阵绘图 (PNG,JPEG,TIFF) 或屏幕输出 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 10 / 47
一般性统计绘图 3 一般性统计绘图高级低级参数和颜色 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 11 / 47
一般性统计绘图 高级 plot 类函数 语法 :plot(x, y,...) [1] plot. acf * plot. data. frame * plot. decomposed.ts* [4] plot. default plot. dendrogram * plot. density [7] plot. ecdf plot. factor * plot. formula * [10] plot. hclust * plot. histogram * plot. HoltWinters * [13] plot. isoreg * plot.lm plot. medpolish * [16] plot. mlm plot. ppr * plot. prcomp * [19] plot. princomp * plot. profile. nls * plot. spec [22] plot. spec. phase plot. stepfun plot. TukeyHSD [25] plot. stl * plot. table * plot.ts 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 12 / 47
一般性统计绘图 高级 其他统计绘图 统计绘图函数 boxplot, bxp, cdplot, contours, filled.contour, fourfoldplot, hist, image, matplot, mosaicplot, persp, spineplot, symbols, stripchart, 参数 add = TRUE axes = TRUE 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 13 / 47
一般性统计绘图 低级 元素 点 (points) 线 (lines, abline, segments, arrows) 多边形 (rect, polygon, box) 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 14 / 47
一般性统计绘图 低级 辅助 坐标轴 (axis) 文本 (title, legend, text, mtext) 公式及符号 (expression) 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 15 / 47
一般性统计绘图 参数和颜色 par par 是魔鬼 (72 个参数, 常用的也达到近 20 个 ) 是绘图的必要条件 ( 除非你想忍受 R 的默认绘图状态 ) 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 16 / 47
一般性统计绘图 参数和颜色 颜色 colors() 颜色参数的传递颜色名称, 如 red 整数, 对应当前调色板 palette() 16 进制的三原色, 如 #FF0000 特定主题调色板, 如 heat.colors() 颜色的扩展包, 如 RColorBrewer colorramps 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 18 / 47
一般性统计绘图 参数和颜色 绘图的例子 plot confidence interval.r 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 20 / 47
扩展 4 扩展通用特殊交互动画图库 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 21 / 47
扩展 通用 通用类 lattice ggplot2 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 22 / 47
扩展 通用 lattice The Trellis graphics of S(+) and The Elements of Graphing Data (Cleveland, 1985). The lattice package is an independent implementation of Trellis graphics lattice uses Paul Murrell s grid package, which provides more flexible low-level tools 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 23 / 47
扩展 通用 lattice 绘图示例 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 24 / 47
扩展 通用 ggplot2 The Grammar of Graphics[Wilkinson,2005] 在 R 中的实现图层叠加的概念, 如同魔方几何单位 (Geom, 点? 线? 光滑?)+ 统计变换 (Stat, 直方图? QQ 图?)+ 尺度表示 (Scale, 颜色渐变? 元素大小?)+ 坐标系 (Co-ord, 笛卡尔? 极坐标?)+ 面板分类 (Facet, 根据分类变量分别画图 )+ 元素位置调整 (Position, 条形图并列或堆积? 散点随机微小打乱?) 扩展了泛型函数 :+ ( 使用非常形象 ) 细节设置自动化, 例如图例 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 25 / 47
扩展 通用 ggplot2 绘图示例 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 26 / 47
扩展 特殊 vcd Visualizing Categorical Data The package was inspired by the book Visualizing Categorical Data by Michael Friendly. 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 27 / 47
扩展 特殊 Bangdiwala s Observer Agreement Chart Never Fun Fairly Often Very Often Always fun Never Fun 7 7 2 3 Fairly Often 2 8 3 7 Very Often 1 5 4 9 Always fun 2 8 9 14 Data from Hout et al. (1987) given by Agresti (1990) summarizing the responses of married couples to the questionnaire item: Sex is fun for me and my partner: (a) never or occasionally, (b) fairly often, (c) very often, (d) almost always. 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 28 / 47
maps 系列 扩展 特殊 2010 年 11 月 5 日至 10 日国内地震情况以及某企业全国市场份额可视化 其他请参考 : http://www.bjt.name/2010/01/chinese-earthquake-visualization/ 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 29 / 47
Google Map 扩展 特殊 来源 :https://github.com/hadley/ggplot2/wiki/ 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 30 / 47
igraph 扩展 特殊 CRAN 上 R 包的网络关系 :http://www.bjt.name/2009/09/package-networks/ 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 31 / 47
扩展 特殊 Quality Control Charts 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 32 / 47
扩展 特殊 其他 高维数据展示相关 : 大数据集 几何投影 (Geometric projection) 轮廓图,Andrews 调和曲线, 基于图标 (Icon-based) 脸谱图, 星图, 雷达图, 花瓣图, 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 33 / 47
扩展 交互 交互式绘图 playwith rgl rggobi iplots 例子 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 34 / 47
扩展 动画 动画相关的包 如果你有足够的想象力, 可以自己来设计适合自己的动画! 或者借助一些包 : animation( 推荐 ) write.gif in package catools EBImage pacakge in BioConductor 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 35 / 47
扩展 图库 各类基础图形 一维数据 : 条形图 饼图 Cleveland 点图 坐标轴须 带状图散点图 : 散点图 向日葵散点图曲线 : 函数曲线密度和分布 : 直方图 茎叶图 QQ 图汇总 : 箱线图 因素效应图分类数据关联 : 关联图 马赛克图分类对连续 : 条件密度图 棘状图分类画图 : 协同图三维图形 : 颜色图 等高线图 三维透视图 平滑散点图高维散点图 : 散点图矩阵 符号图 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 36 / 47
扩展 图库 R 的图库 http://addictedtor.free.fr/graphiques/ 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 37 / 47
模型 5 模型 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 38 / 47
模型 聚类 Hierarchical Clustering Partitioning Around Medoids MPG.highway MPG.city Rev.per.mile RPM EngineSize Turn.circle Wheelbase Length Luggage.room Rear.seat.room Passengers Width Weight Fuel.tank.capacity Price Min.Price Max.Price Horsepower 5 4 3 2 1 0 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 39 / 47
模型 主成份和因子分析 pc.cr 5 0 5 Variances 0.0 0.5 1.0 1.5 2.0 Comp.2 0.2 0.1 0.0 0.1 0.2 0.3 Mississippi North Carolina South Carolina West Virginia Vermont Georgia Alaska Alabama Arkansas Kentucky Murder Louisiana Tennessee South Dakota Montana North Dakota Assault Maryland Wyoming Maine New Mexico Virginia Idaho Florida New Hampshire Michigan Indiana Iowa Missouri Nebraska Rape Delaware Oklahoma Kansas Texas OregonPennsylvania Arizona Illinois Minnesota Wisconsin Nevada Ohio New York Colorado Washington Connecticut New California Massachusetts Jersey Rhode Utah Island Hawaii UrbanPop 5 0 5 Comp.1 Comp.2 Comp.3 Comp.4 0.2 0.1 0.0 0.1 0.2 0.3 Comp.1 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 40 / 47
模型 判别分析 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 41 / 47
模型 时间序列 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 42 / 47
图模型 模型 Life cycle of teasel 0.013 0.966 0.01 DS 1yr DS 2yr R small 0.125 0.007 0.008 0.125 0.038 0.238 R medium 0.245 R large 0.167 322.38 30.17 0.75 3.448 0.023 0.862 F 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 43 / 47
模型 树型模型 J48 Conditional Inference Trees //bjt.name/2009/03/data-2008-2009-rockets http: 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 44 / 47
模型 ROC 曲线 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 45 / 47
参考文献 参考文献 W. N. Venables and B. D. Ripley Modern Applied Statistics with S 2002 John M. Chambers Software for Data Analysis: Programming with R 2007 M. Friendly A Brief History of Data Visualization 2005 Deepayan Sarkar Lattice Multivariate Data Visualization with R 2007 Leland Wilkinson The Grammar of Graphics, 2 nd ed 2005 谢益辉现代统计图形 2010 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 46 / 47
关于 参考文献 刘思喆 Email:sunbjt<at>gmail.com Blog : http://www.bjt.name 谢益辉 Email:xie<at>yihui.name Blog : http://www.yihui.name 问题请关注 : COS 论坛 R 版 :http://cos.name/cn/forum/15 谢谢各位! Jump to first slide 刘思喆 谢益辉 (@ 上海财经大学 ) R 与统计图形 2010 年 11 月 14 日 47 / 47