【推荐】R for Data Science 新书抢先看
1、 概述
本书目的:主要使读者能够掌握数据科学分析中重要的R语言工具。主要包括下面这些部分:数据导入、数据整理、数据转化、数据可视化、数据模型以及数据交互。如下图:
本书所涉及的R语言包:
pkgs <- c( "broom", "dplyr", "ggplot2", "jpeg", "jsonlite",
"knitr", "Lahman", "microbenchmark", "png", "pryr", "purrr",
"rcorpora", "readr", "stringr", "tibble", "tidyr")
install.packages(pkgs)
比较有意思的是,书中强烈推荐修改Rstudio的两个默认设置。从之前使用经验看,这两个修改很有必要,这样每次新打开Rstudio都是全新环境,而不是上次会话的环境避免每次手动调整。当然,如果你需要保存的话,可以在程序最后加上save.image('*.RData')实现。
2、 数据探索
探索性数据分析(EDA):通过对原数据的图像化展示和数据转换,从而能够更加直观理解数据信息。
数据可视化:详细介绍 ggplot2 包,区别于基础画图的图层设计很有意思。
数据转换:详细介绍 dplyr 包,5个核心函数:
行排序 (
arrange()
),刷选行 (
filter()
),刷选列(
select()
),增加新列 (
mutate()
),汇总 (
summarise()
).
3、 数据整理加工
数据导入:readr包中read_csv、read_fwf函数对基础函数速度和性能的提升(~时间减少10倍),同时提到data.table::fread()函数对超大csv数据极速读取(但性能没有readr包稳定)。
数据整理:tidyr包中spread() 和 gather()长表宽表转化;separate()和unite()列变量分割合并。
关系型数据:各种data相互联结操作。
string字符型数据:详细介绍 stringr 包 和 stringi 包;stringr 包可以处理90%的字符数据问题,而剩余10%的问题可以通过stringi 包解决。
日期和时间:主要介绍 lubridate 包。
4、 R语言编程
如何使你的代码变得更加简便,更加易懂?这章主要介绍一下重要的编程技巧:
使用 pipe(管道操作),
%>%
, 抛除冗余的代码;使用functions函数, 避免代码重复;
使用iteration迭代 让代码做相同的事;
熟练掌握4种常见向量类型和3种重要的S3类,理解list和data frame关系区别;
使用purrr 包处理模型结果list问题等等。
5、 模型
基础模型:线性模型、非线性模型、多元模型、分类变量、使用模型结果等等;
模型可视化:Gap Minder 未完成;
模型评估:P值、Bootstrap方法、Cross-Validation等等。
6、 交互
R Markdown:可重复性研究;后续我转载一篇其应用文章。
动态交互:未完成,可能会包括像Slidify、shiny等很火的交互技术;
图形交互:介绍ggplot2的label、zooming和Themes等更清晰明了展示图片。
整本书还没有完成,但都是最新最流行的R工具,希望对大家有所帮助!
条件时间允许也可以和大家一起翻译哈~
参考:
大牛Hadley的github:https://github.com/hadley
所有开发源码,可以学习大牛如何写R语言哈。
本书网络版地址:http://r4ds.had.co.nz/
长按二维码或扫描二维码即可关注! ↓↓↓↓
End
12月15日(周四)听台湾大数软件的创办人丘祐玮(DavidChiu)讲解机器学习技术在Python语言的商业应用,大家不要错过啊。
参与方式:阅读原文报名 | 扫描下方二维码
前期热门
万字案例+视频揭开民生银行阿拉丁大数据的神秘面纱
原创 | 太犀利!看我大R语言如何用主成分分析洞悉城管事件数据
推荐文章