【R】《R for Data Science》学习笔记-先导篇
封面本笔记是学习《R for Data Science》的个人总结笔记系列的先导篇,大概讲解一些会学到什么知识,不会讲什么,开始学习前应该具备哪些知识储备,仅供参考。
关于这本书
这本书将教我们如何用R来做数据科学:学习如何将自己的数据导入R中,把它变成最有用的结构,转换,可视化并对数据进行建模。在这本书中,我们会学习数据科学需要实用技能。就像化学家学习如何清洁试管和储存实验室一样,我们将学会如何清洁数据,绘制绘图——还有许多其他的东西。这些技能使得数据科学得以发展,在这里我们可以用R找到最佳的解决方法,我们将学习如何使用图形语法、文字编程和可重复性研究来节省时间。还将学习如何在清洗整理、可视化和探索数据时管理认知资源。(翻译的有点烂,大概就是这个意思,让我们开始好好学习吧~)
要学什么
数据科学的范围很大,不可能通过这么一本书就能掌握的。通过这本书我们能够为使用绝大部分重要数据科学分析流程打下坚实的基础。很多数据科学分析流程大概就如下图:
[图片上传失败...(image-1c99d7-1540546570114)]
-
第一步,导入数据(文本文件、数据库、网页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;
如果实在有需要请给我发邮件:mengyuanshen@126.com;
也可以关注我的公众号:沈梦圆(PandaBiotrainee)