【好书共享】《R for Data Science》的中译版

本期推荐的书籍是hadley大神《R for Data Science》的中文翻译版《R数据科学》,Panda姐五星强烈推荐!!! 这本书原版就是开源的(网址:http://r4ds.had.co.nz/),但是中文看得更快,学R语言一定要买一本纸质书放在案头,多多翻阅。

R for Data Science

关于这本书

这本书将教我们如何用R来做数据科学:学习如何将自己的数据导入R中,把它变成最有用的结构,转换,可视化并对数据进行建模。在这本书中,我们会学习数据科学需要实用技能。就像化学家学习如何清洁试管和储存实验室一样,我们将学会如何清洁数据,绘制绘图——还有许多其他的东西。

这些技能使得数据科学得以发展,在这里我们可以用R找到最佳的解决方法,我们将学习如何使用图形语法、文字编程和可重复性研究来节省时间。还将学习如何在清洗整理、可视化和探索数据时管理认知资源。

要学什么

数据科学的范围很大,不可能通过这么一本书就能掌握的。通过这本书我们能够为使用绝大部分重要数据科学分析流程打下坚实的基础。

很多数据科学分析流程大概就如下图:

Program

  • 第一步,导入数据(文本文件、数据库、网页API)。没有数据导入,就没有后续数据科学分析;
  • 第二步,规整数据(每列都是变量,每行都是观测值)。规整好数据结构,让分析者关注数据问题本身;
  • 第三步,转变数据。整理数据和转变数据合在一起叫做数据整形(wrangle);
  • 第四步,可视化数据。好的可视化能够让我们挖掘数据中意想不到的的结果,让我们找到新的发现。同时也能够让我们检查猜想是否正确,指示我们去收集不同的数据。
  • 第五步,数据建模。作为数据可视化的补充,一旦你想要更加地重分精确回答一个问题,这时候我们就需要用一个模型啦。建模是一个最基本的数学、计算机工具,应用十分广泛;
  • 第六步,数据交流。无论你的数据可视化做得多好,模型建得多棒,最至关重要的是你对数据的理解后能够拿数据跟其他人交流。

上面的六个步骤都离不开编程。

数据科学家不需要态专业的编程技巧,但是学习一些基础的编程知识能够使得完成一些普通任务更加快速方便。学完这本书大概能掌握80%数据科学项目需要的技能,其余20%则需要依赖其他工具来完成(不会讲,但会给出学习资源)。

不会讲什么

  • 不讲大数据。data.table更适合处理大数据,更大则需要学Hadoop或者Spark了(sparklyr,rhipe,ddr);
  • 不讲Python和Julia等其他编程语言。精通一门比所以东西都去学点好,这会让你更快解决你的问题,毕竟人的精力是有限的;
  • 不讲非矩阵数据。图片、声音、树、文本文件暂不涉及;
  • 不讲命题论证。数据挖掘分为两大阵营:假设提出和假设检验(有时称为验证性分析)。假设验证分析难,所以不讲,只讲数据探索和假设提出。一般认为模型用来假设检验,可视化用来假设提出,但这是错误的。模型也可以用来数据探索,并用可视化验证。反正两者的主要区别就是在于验证需要看一次,探索需要看很多次观察值;

学前准备

  • 有编程基础,没有就去Hands on Programming with R 看看再回来;
  • 安装好R、Rstudio;
  • 安装好必需包; install.packages("tidyverse") install.packages(c("nycflights13", "gapminder", "Lahman"))
  • 学会解决问题。有问题先谷歌,不行再上stackoverflow(要学会科学提问),最后就是R社区RStudio blog和r-bloggers;

Panda姐的学习笔记

去年年底大致看完了hadley大神的《R for Data Science》:http://r4ds.had.co.nz/,前面三部分认真看了,后面模型和交流部分简单翻阅了下,我写了几篇简单的学习笔记:

1:写了四篇学习笔记

在学习刚开始写了几篇笔记(做的很粗糙,都是摘录性的),从时间上看,大概看了三个星期左右。后面就没有继续写了,不太习惯做读书笔记,个人喜欢写那种带着问题的探索性笔记。

  • 【R】《R for Data Science》学习笔记-先导篇:http://shemy.site/2017/11/19/R-for-Data-Science-introduction/
  • 【R】《R for Data Science》学习笔记-数据探索篇:http://shemy.site/2017/11/23/R-for-Data-Science-data-explore/
  • 【R】《R for Data Science》学习笔记-程序篇:http://shemy.site/2017/11/25/R-for-Data-Science-data-program/
  • 【R】Project Euler通关打怪兽:http://shemy.site/2017/11/20/The-projecteuler-practice/

在先导篇是铺垫性的内容,为后面的数据探索篇、Wrangle(不懂中文啥意思)、程序篇、模型篇、交流篇做一个整体性的介绍。

2:体会最深的知识

在看完《R语言实战》后,这是我看的第二本关于R语言书籍,其他都是粗粗扫过,不算数(像R cook、ggplot2)。在这本书里,hadley大神写了很多用R做数据分析的技巧。下面我写下我体会最深的知识点:

  • 数据类型认识更为深刻了,第一次把R中的向量、矩阵、数组、数据框、列表捣鼓明白,此外我还看了R语言教程和Advanced R。
  • 高级数据整形包的学习:
  • 使用tibble来替代data.frame;(优点很多,生成的数据框数据每列可以保持原来的数据格式,不会被强制性改变;查看数据时,像head()时不再会一行显示不下,多行显示得非常丑;数据操作速度会更快了;)
  • dplyrtidyr结合对数据进行tidy,超级有用的函数:选取部分数据filter()select()、创造新的变量mutate()、排序arrange()summarise()group_by()结合使用来进行数据描述性统计;此外gather()spread()separate()unite()用来高效对表格进行操作;还有就是left_join()full_join()等关系型数据的合并函数,intersect()union()setdiff()取数据的交并集函数都是第一次接触;
# √ ggplot2 2.2.1     √ purrr   0.2.4
# √ tibble  1.3.4     √ dplyr   0.7.4
# √ tidyr   0.7.2     √ stringr 1.2.0
# √ readr   1.1.1     √ forcats 0.2.0
  • 用R处理数据的规范:要新建project,学会写注释,用pipeline%>%写简洁的代码,函数的书写;
  • 将数据整理好才能绘图,数据可视化作为数据挖掘的强有力工具;所以画图要有假设、目的性地画。
3:写在最后

看完这本书后,在以后用R进行数据分析绘图会更加高效了,对数据整形、数据可视化在数据挖掘中的重要性有了深刻的认识,当然模型也很重要(我不是没认真看嘛)。对R的编程语法更加熟悉了,毕竟中间刷了12道编程题(代码惨不忍睹)。总之,对于R语言又有更新的认识,更上一层楼的感觉(R的学习曲线还是比较陡峭的,一些高手的技巧在一定阶段是看不懂的,需要跟着时间慢慢沉淀。不要灰心,俺觉得R还是挺好学的一门语言,比Perl好学)。

刷题

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2018-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网数据官iCDO

排名到底和谁相关?---论域名权威与品牌搜索量

两周前,我很高兴有机会在Search Love San Diego的活动上演讲。那次演讲的主题围绕“谷歌是否还重视链接?”该演讲着眼于谷歌在2017年会如何以及...

15940
来自专栏大数据文摘

[译] 天龙八步 第二弹:8步从Python白丁到专家,从基础到深度学习

30670
来自专栏镁客网

黑科技 | 平面显微镜让失明者恢复视觉?莱斯大学推出可控制视觉系统

19970
来自专栏新智元

机器学习项目实践:30+ 必备数据库(预测模型、图像分类、文本分类)

【新智元导读】有了好的数据,机器学习项目也就成功了一半。希望这份资源清单有助于那些寻找机器学习项目实践的人。对于初学者来说,这绝对是一个金矿。确保你在业余时间选...

40860
来自专栏CVer

重磅 | 《动手学深度学习》 0.7版发布

学过或正在学习MXNet框架的同学,一定很熟悉《动手学深度学习》这个课程。该课程算是第一个最硬国语版讲解深度学习的课程(从理论到实战)。Amusi记得该课程首次...

9500
来自专栏吉浦迅科技

英伟达DesignWorks VR用虚拟现实做现实世界的设计

英伟达(NVIDIA)发布了DesignWorks VR,一套新的工具配合之前推出的GameWorks VR SDK一起使用,聚焦代替在虚拟现实里创建物理对象。...

28860
来自专栏媒矿工厂

2017 HDR技术动态

2017年是HDR发展突飞猛进的一年,这一年里,HDR不仅仅在技术层面取得了巨大的进步,在消费市场也取得了极大的成功,在其他相关领域中也得到了广泛的应用。 在消...

69270
来自专栏大数据挖掘DT机器学习

【趣味】数据挖掘(4)——借博客点击兼谈干预规则

讲过长课的老师,常在受众将发生审美疲劳之时段,安排一点有趣的内容。为消除疲劳,现来一段有趣的、与博友的自尊心和荣誉感相关的博文,议题是:挖掘科学博客的平均...

33470
来自专栏数据派THU

19个超赞的数据科学和机器学习工具,编程小白必看!(附资料)

编程是数据科学的一个组成部分。事实上,理解编程逻辑、循环和函数的人更有可能成为成功的数据科学家。但那些在学校里从未学习过编程的人怎么办?

14430
来自专栏新智元

【干货】4月Python 热门推荐Top 10

18540

扫码关注云+社区

领取腾讯云代金券