drunkevil:读 @dapeng 的《学 R》

本文经作者 @drunkevil 授权转载(原文链接1原文链接2)。略有改动。

有两个 1.5 G 的 csv 文件需要处理,具体的要求是删去不必要的字段和某些字段中不符合要求的行,减小数据量,以便进一步的分析,但是 Excel 很难直接进行处理。

平时基本上不写代码,想到的笨方法是:

  1. 将大文件分割成小文件(大概 8 个);
  2. 用 Excel 对每个小文件(200 M 左右)进行排序,筛选,删除等操作;
  3. 将处理后的小文件合并成一个文件。

虽然看起来只有三步,但其中的困难只有在真正做的时候才能体会。 分割完成后在处理第二个 200 M 的小文件时,电脑不争气的卡死了。

意识到以这种方法估计要搞到下班也很难处理好,上半年的最后一个小长假甚至会因此而受到影响,脑子里突然想到了 @dapeng 推荐的不少人在学习的 R 语言。

于是果断地在网上找了两篇教程,下载并安装了 R 的安装包和 Rstudio,试着写下了人生中的第一个 R 脚本,虽然只有大概 5 行代码,略显简陋,但很好地完成了人拉肩扛的纯体力劳动,大大解放了生产力。将精力主要放在了后续的分析上。

唯一不太喜欢的地方在于,R 在读取 csv 文件时,没有进度提示,不知道要多久才能完成,好在最终执行整个过程只花了 20 分钟左右。

同事:你这是什么?

我:R 语言。

同事:R 语言是什么?

我:统计分析语言。

同事:你还会这个啊?

我:刚刚学的一点皮毛。

真的只是一点皮毛,距离学会还有一定的路要走。不过我对于编程的理解是,关键不在于学没学会,而在于会不会用。

下午五点半,愉快地按时下班了,开始了上半年的最后一个小长假。

在体会到了 R 的锋利之后,在网上入手了 @dapeng 的热销书《学 R:零基础学习 R 语言》,近距离地感受下 R 的过人之处。

昨天下午,花了两三个小时的时间将这本《学 R》读了一遍。@dapeng 辛辛苦苦 16 个月怀胎,我却只花了两三个小时就读了一遍,原因是,我并不需要每章都去读,有些章节,比如第 17 和 18 两章关于用 R 进行基础统计的内容,我可能暂时用不到;另外,整本书各章相对独立,对编程稍有基础的话大可不必从头到尾通读。

老实说,《学 R》并不适合所有的想要学 R 的人,它更适合的是那些对R语言或者其他编程语言没有基础而又需要用到R语言的人,像 O 哥这样的大神或者城市的出租车司机大概不会买来阅读,这点从书的副标题和序言都可以看出。

与其他的《零基础学习xx》的所谓教程和图书最大的不同之处在于,《学 R》十分真诚。它不是那种耳提面命似的辅导,没有多少术语和枯燥的公式,而是那种一对一的交流和探讨,是那种将自己七年的学习和使用经验的分享,如果你读过 @dapeng 的博客,大概会同意我的这种看法。

工作中,我很少用到统计学,数据分析倒是时常会接触,但基本上都是通过表格来处理,常用的需求一般是通过公司专门部门写的小工具,定制化十足而灵活性有限。有了 R 这一把利器,希望为自己的数据处理和分析提高一些效率,同时也增加一些乐趣。

当然,统计分析并不是 R 的唯一用武之地,如果这本《学 R》只是在讲 R 在统计学中的应用,@dapeng 大概会少了三块钱的版税收入(哈哈)。看一下目录,与统计学直接相关的内容很少,更多的是 R 在不同方面的应用。尤其吸引我的是 R 的bookdownbolgdownbookdownplus等扩展包。

看完这本书,大概可以说自己真的是入门了,更多的功能需要去使用。毕竟 R 语言只是一种工具,有工具并且要会使用工具才能真正发挥它的价值。

那么,R 真正的过人之处在哪里呢?容我开始使用后慢慢体会。

关于书中内容,一个小小的勘误:

页码 错误 订正
12 哈姆雷 哈姆雷特

顺便说一句,哈姆雷特这样的词语出现在编程语言的书中大概是我读到的第一次,当然,除了哈姆雷特之外,金庸,张无忌,四大名著的影子都会出现。虽然这些东西对书的内容并没有太大的提升,但对于书的可读性提升了好几个档次。与一本严肃的教科书相比,一本段子云集的…课外书自然更有吸引力。

最后小小八卦一下,包括这本书的作者介绍在内,看到过好几张 @dapeng 的照片(1,2,3,4),但每次都感觉不像是同一个人,不知道有没有人也有这种感觉?

祝《学 R》大卖!