1

编辑推荐

clipboard.png

本书是由Garrett Grolemund与Hadley Wickham合著的一本R语言新书,预计在今年年底正式出版。提到Hadley,接触过R语言的童鞋应该都听过他开发的R包:图形可视化软件包ggplot2、数据加工处理包plyr、reshape2等等。为什么推荐这本书?一是大牛出品必属精品,详见大牛另一本书《Advanced R》;二是本书系统介绍最新和最流行的R知识,可以少走学习弯路。好,那我们就来看下本书的主要内容吧。

1、 概述

本书目的:主要使读者能够掌握数据科学分析中重要的R语言工具。主要包括下面这些部分:数据导入、数据整理、数据转化、数据可视化、数据模型以及数据交互。如下图:

clipboard.png

本书所涉及的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')实现。

clipboard.png

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相互联结操作。

clipboard.png

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/


marxsong
22 声望3 粉丝

引用和评论

0 条评论