📚
Snowflyt's Bookshelf
  • 前言
  • Crokking Algorithms - 算法图解
  • CSS Visual Dictionary - CSS图鉴
  • Functional Thinking - 函数式编程思维
  • Hands-On Programming with R - R语言入门与实践
  • Introduction to JavaScript Object Notation - JSON必知必会
  • JavaScript: The Definition Guide, 7th Edition - JavaScript权威指南(第7版)
  • JavaScript: The Good Parts - JavaScript语言精粹
  • Learning React, 2nd Edition - React学习手册(第2版)
  • On Java 8 - On Java 中文版
  • Operating Systems - 操作系统导论
  • Programming with Types - 编程与类型系统
  • Python Data Science Handbook - Python数据科学手册
  • Sams Teach Yourself SQL in 10 Minutes, 5th Edition - SQL必知必会(第5版)
  • The Art of Software Testing, 3rd Edition - 软件测试的艺术(第3版)
  • Think Python, 2nd Edition - 像计算机科学家一样思考Python(第2版)
  • Understanding Computation - 计算的本质
  • You Don't Know JS - 你不知道的JavaScript(上卷)
  • You Don't Know JS - 你不知道的JavaScript(中卷)
  • 代码的未来
  • 面向对象是怎样工作的
  • 前端函数式攻城指南
  • 深度学习入门
  • 松本行弘的程序世界
  • 网络是怎样连接的(第2版)
  • 未来世界的幸存者
  • 游戏化思维:从激励到沉浸
  • 坐标React星
由 GitBook 提供支持
在本页
  • 图书信息
  • 书评

Hands-On Programming with R - R语言入门与实践

图书信息

  • 英文书名:Hands-On Programming with R

  • 中文书名:R 语言入门与实践

  • 作者:[美] Garrett Grolemund

  • 译者:冯凌秉

  • 页数:正文 180 页 / 附录 32 页

  • 英文出版社:O'Reilly Media

  • 中文出版社:人民邮电出版社 / 图灵教育

  • 出版日期:英文原版 2014 / 简体中文版 2016

  • 个人分类:数据科学 / R

  • ISBN:978-7-115-42471-6

书评

写于2022年2月18日。

花了一天时间读了一下一本简单的R入门读物,不到两百页。因为有过其它语言基础,所以读得很快。

说实话,今天早上从书架里拿起这本书的时候我也搞不清楚我有什么读R语言书的必要,现在我读完了还是没搞懂,就当图一乐吧。

平时R用得不多,主要也就是拿ggplot2画两张好看的图这样,即使是数模比赛这次我也主要拿Python做的,没怎么用R,所以对R的了解其实非常少。读了这本书大致对R有了一个了解之后,我意识到R其实是一门非常有意思的语言。

R本质上是有着函数式内核的,与JavaScript有一些奇妙的相似性,例如R也支持闭包,甚至支持“定义后立即调用”。R也有面向对象(S3,S4),但它的面向对象更近似于JavaScript的“原型继承”,不过更加原始,而不是Java式的“类继承”。R是非常自由的,一切都是对象,因此一切也都可以有属性,这和JavaScript非常相似。

与Python类似,R不需要变量声明即可直接定义变量,这种方式定义出来的变量更近似于全局变量,因此需要闭包来减少全局污染,这和JavaScript(ES6之前)很像,而Python尽管也有这个问题,但通过各种巧妙的方式避开了问题的核心,这里就不多谈了。

R令人印象深刻的一点在于其向量化编程的思想,考虑到R的历史悠久性,或许NumPy的数组广播很大一部分灵感来源于R的向量化编程。

作为一门编程语言,R显然是不太合格的,原始的面向对象,从1开始的下标,过度自由的语法,对模块化较差的支持,没有位运算符,都注定了R不可能成为一门真正广泛应用的语言。但也正是这些特点,使得R至今仍尤其适合数据科学与统计领域的任务,并且随着Tidyverse的蓬勃发展已经有了重新追上Python的趋势。作为一门已经流行了数十年的统计语言,在今天仍保持着如此重要的地位,R的生命力着实令人感叹。

回到书本身,本书从三个实例从零开始介绍了R的基础语法,没有任何编程基础也能轻松理解,但对我来说确实太基础了点,所以很多地方我是跳着看的。语言生动有趣,全书没有任何理解难度,在合适的地方有习题,习题后面立即就有解答,我想任何人都能够在一周内看完这本书,并且快速上手R语言。

这本书和《R for Data Science》(中文名“R数据科学”)是相衔接的,读完本书可以立即去读《R for Data Science》,然后就已经基本掌握了使用R进行数据科学工作的能力了。至于另一本很流行的比较厚的R入门书《R语言实战》,有些更偏向于base R而不是Tidyverse流,在Tidyverse(及受到它启发诞生的诸多R包,例如data.table)几乎已经统一了R的今天,再去学习base R其实已经不是太有必要了,或许以本书和《R数据科学》两本书直接入门Tidyverse流下的R语言是一种更好的选择。

总之,如果是数据科学领域的相关从业者(或者是做生信的),从这本书开始入门R应当是一个很不错的选择。至于其他领域的从业者,应当就没有什么阅读的必要了(我读这个纯粹是闲的,按理来说我也没啥读的必要,纯当丰富语言阅历了)。

上一页Functional Thinking - 函数式编程思维下一页Introduction to JavaScript Object Notation - JSON必知必会

最后更新于2年前