R 菜鸟入门篇 第00篇 缘起

如果你和当初的 dapeng 一样是个菜鸟,对 R 有浓厚的兴趣,只是苦于入不了门,在门口纠结徘徊不忍离去,那么,这个系列的帖子就是写给你的。

以前 dapeng 曾为两个难题烦恼不已,一个是谈恋爱,一个是学习 R 。两件事情的共同特点是:在它们面前 dapeng 一直是个菜鸟,任凭花费多少时间去读入门教材,什么 _The R Book_, _An Introduction to R_,R for Beginners 等等,这扇门就是推不开。越推不开越想推。在dapeng修了大学里开设的 Introduction to R 课程之后,学习 R 的困境才有了改观。这门课程是拜罗伊特大学生态地理模拟研究组的 Björn Reineking 教授为全校公开开设的,链接点这里。一个学期下来,受益匪浅。课程结束后, dapeng 特意征求 Reineking 教授的同意把讲义分享给在中国的朋友,他欣然应允。于是 dapeng 打算公开之前整理一下,哪知道一整理,一晃两年过去了。

这两年间, R 助 dapeng 完成了博士研究期间全部的数据处理,论文中几乎所有的作图都是 R 实现的。可以说,如果没有学习 R 和使用 R 带来的乐趣,那么 dapeng 的博士研究生活必定会枯燥很多。然而,回顾学习 R 的历程,奇怪的是, dapeng 始终没有找到像 Reineking 教授课程那样菜鸟入门级的 R 教材。事实上,关于 R 的教材不是太少,而是太多,而即便是入门级的,那些标有 IntroductionBeginners 字样的,对于 dapeng 这种非统计学非计算机专业的,只在大学公选课修过 普通统计学 的人来说,还是门槛太高。如今快要毕业, dapeng 觉得,是时候把 Reineking 教授课程笔记梳理一下了,希望那些和 dapeng 一样的菜鸟们,碰巧读到这些文字后,学习 R 的情形有所不同。

那么,让我们开始第一个问题:R 是什么?

答案一搜一大堆。菜鸟 dapeng 的解释是,如果你用 Excel 计算过一列数的平均值,或者用 OriginLab 或 SigmaPlot 玩过科技制图,或者用 Matlab 编程建模,那么,R 跟它们一样,是用来进行数据处理、作图、编程的软件。

既然一样,别的软件用得好好的,干嘛要换用 R

跟很多理科生一样,dapeng曾用 Excel(本科论文)和 OriginLab (硕士论文),但博士期间换用了 R。见到好的,只要不违法不缺德,自然要换。

思考:你家附近的一家餐厅又贵又脏又难吃,但你不知道有别的餐厅,没选择的情况下习惯了这家。当你得知附近还有一家整洁便宜服务好的,你愿不愿意换?

那么, R 好在哪里?

这个就见仁见智了。 dapeng 是那种贪图便宜的人,看上 R 是看上了它的 免费随心所欲 。你说盗版的 Excel,OriginLab,Matlab 也免费?咳咳,dapeng 也是混过来的,只是如今年岁越大,胆子越小,违法的事儿还是少干吧,尤其是当了爹之后, dapeng 觉得,不想让孩子做的事儿,当爹的最好就别做。当然,不光免费和灵活,还有 R 功能的强大R 社区的 友好 等等,网上搜搜看吧。从 dapeng 的角度说,没有 R, dapeng 的博士研究可能完全是另外一个模样。 比如 dapeng 得意洋洋地炫耀一下下面这张 dapeng 博士论文中的插图,当然在 R 高手眼里也就是入门级的,但是 dapeng 却为此兴奋不已,因为用别人定义好的函数,一个语句不到一分钟就搞定了,太适合 dapeng 这种懒人。


图00.1. dapeng 的博士论文插图。对角线上是 7 个变量的直方图和平滑曲线,对角线以左是这 7 个变量两两之间的散点图和 loess 拟合曲线,对角线以右是两两之间的相关系数(正负用数字的颜色区别,相关程度用字体的大小表示)。

思考:上图用 Excel 或 OriginLab 或 SigmaPlot 该怎么做?

不光是论文作图,R 还能很容易做出 3D 动画来演示。下面是 dapeng 博士预答辩演示的一个图:


图00.2. R 做出的 3D 动画。

不光是枯燥的科技作图和演示,R 还可以娱乐。比如可以画一颗立体中国心:


图00.3. R做出的中国心。

当然可以很容易地把国旗换成别的,比如 mm 的照片,或者——


图00.4. 晴耕雨讀志在我心。

如果你开始对 R 有兴趣的话, R菜鸟入门 将循着 Reineking 教授讲义的思路,加上 dapeng 的学习心得,从零开始,大概用十几篇短文的篇幅带你跨上那个门槛,把那扇门推开一条缝 —— dapeng 希望自己能坚持写完。最后的目标——成为 R 高手,那是不可能的。不过,至少,能作出上面几个图来。

我们开始吧。

( 连载中,待续 )

原文链接

comments powered by Disqus