凑够三人开团。
@Yeung Evan 在答案中提到:
Leland Wilkinson的一本奇书 The Grammar of Graphics. 从数据科学角度,它阐述了为什么画图也需要“语法”,或者说,一位自称 elegant 数据专家,应该从什么角度去完成数据的可视化表达——要知道,画出来的直方图、饼图并非最终目的,它们只是表达数据的一种方式。
而ggplot2所呈现的beauty正基于此。Yeaung的答案已经把main idea提到了,这里我就详细展开一下,以便数学背景几乎是个零测集的同学也能理解「为什么这个和纯数,或者说以Hilbert为代表的形式主义数学,看起来差了十万八千里的工作,也称为『beauty』」。
毋庸置疑的,在高贵优雅的数学里,特别是那些搞代数XX的(小声BB……),本质审美品味在于,把一些具有共性的东西,抽象抽象再抽象,推广推广再推广——从「一步两步、一步两步,似魔鬼的步伐」抽象出「自然数」;从「你看这个面又长又宽,就像这个碗又大又圆」抽象出「测度」;从「这坨没洞的橡皮泥和那坨有洞的橡皮泥能捏出来的东东不一样」抽象出「拓扑不变量」……
而Wickham的工作也是干的这种事!他将统计图形抽象为一个映射,将作图视为构造一个映射,使得数据(及其性质)能够以图形的形式表现。
a statistical graphic is a mapping from data to aesthetic attributes of geometric objects.
如果说Wilkinson提出的grammar of graphics的idea在数据可视化方向上相当于「提出了形式主义的原则」,那么Wickham相当于从测度论的角度,定义好了「随机变量」的概念,并使得「概率」、「期望」有了明确的数学结构,可以被研究、被计算。
同时,随着这个这个映射的domain和co-domain的变化,我们可以轻松观测到各式各样稀疏数据结构的性质,再不必苦哈哈地只能对着一个数字、几个内积,信誓旦旦地和观众吹水「我这个多项式是很漂亮、很有用的!」
然后落实到技术层面。
以非统计专业也常用的qplot为例,对比R base的plot
在需要对数据按照某个指标先进行分类,再研究的情况下,plot函数的处理很复杂——首先要人工对数据进行分类,然后再一个个作图。虽然理论上就是写个循环,然而,作图完成之后还得小心翼翼地添加图标,保证数据和图形外观之间的一一对应。
想想都「卧槽,人干事儿?!」
但ggplot2就比较神仙了,完全不需要你自己考虑数据分类和图形元素,只需要告诉它「我要做分类数据!」,就万事大吉了。
唯一的缺点是,用于分类的数据必需是因子类型,否则就报错,让reg monkey们很头大。
具体怎么做到这样的实现,请有兴趣的读者自行拆包观赏。
当然,想要做出这样的骚操作,不但需要够硬的编程功底,还需要对统计理论本身有自己的理解。
这个包的骚操作还有很多,非常值得好奇心重的观众拆包。
说明少年不老,说明beauty和real world impact能两全,说明可爱的R包的可爱将源源不绝~耶✧⁺⸜(●˙▾˙●)⸝⁺✧
不过我完全不同意国内某统计著名机构推文中,声称把COPSS颁给Wickham是在打脸把统计做得很抽象、很math的一派的观点。
事实上,不论哪个流派、有着怎样的自我认可,统计学一直以来倡导的都是让研究的可操作性、可重复性足够强——可操作性要求model/program/algorithm能切实地work;可重复性要求model/program/algorithm的理论基础足够抽象,故而经得起不同结构形态的数据的检验——而绝不是单纯的实际,或是单纯的抽象。
Fiser的极大似然如此,Jianqing Fan的非凹性罚函数如此,如今Wickham的ggplot2亦如此。现代统计一百年来公认的审美从未改变,COPSS所倡导的根本理念也从未改变,只是具体展开的方向千差万别。
有人感兴趣的话,我就详细从理论框架的角度,赏析一下Wickham那堆东西怎么在一个大数学主义者眼中呈现beauty的。这种beauty不仅是视觉审美体验上的,更是心智荣耀上的。没有的话,这个答案写这么多就可以辣(〃╹▽╹〃)
BTW,科普一下,COPSS一共四个奖,含金量最大的是总统奖,也就是今年Wickham拿的这个。Fiser奖那位,很硬很math的……了解一下。