编辑推荐
本书是由Garrett Grolemund与Hadley Wickham合著的一本R语言新书,预计在今年年底正式出版。提到Hadley,接触过R语言的童鞋应该都听过他开发的R包:图形可视化软件包ggplot2、数据加工处理包plyr、reshape2等等。为什么推荐这本书?一是大牛出品必属精品,详见大牛另一本书《Advanced R》;二是本书系统介绍最新和最流行的R知识,可以少走学习弯路。好,那我们就来看下本书的主要内容吧。
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工具,希望对大家有所帮助!
条件允许也可以和大家一起翻译~
参考
1、大牛Hadley的github:https://github.com/hadley
所有开发包源码和书籍源码,可以学习大牛如何编写R语言程序;
2、本书网络版地址:http://r4ds.had.co.nz/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。