作 者:刘健 邬书豪 著
定 价:69
出 版 社:机械工业出版社
出版日期:2019年07月01日
页 数:241
装 帧:平装
ISBN:9787111629948
●目 录推荐语前言第一部分 工具包篇第1章 数据导入工具21.1 utils—数据读取基本功31.1.1 read.csv/csv2—逗号分隔数据读取31.1.2 read.delim/delim2—特定分隔符数据读取61.1.3 read.table—任意分隔符数据读取71.2 readr—进阶数据读取151.3 utils vs readr—你喜欢哪个?171.4 readxl—Excel文件读取181.5 DBI—数据库数据查询、下载211.6 pdftools—PDF文件221.7 jsonlite—JSON文件251.8 foreign package统计软件数据261.9 本章小结27第2章 数据清理工具282.1 基本概念292.2 tibble包—数据集准备312.2.1 为什么使用tibble322.2.2 创建tbl格式342.2.3 as_tibble—转换已有格式的数据集342.2.4 add_row/column—实用小工具372.3 tidyr—数据清道夫402.3.1 为什么使用tidyr402.3.2 gather/spread—“长”“宽”数据转换402.3.3 separate/unite—拆分合并列432.3.4 replace_na / drop_na/—默认值处理工具442.3.5 fill/complete—填坑利器442.3.6 separate_rows/nest/unest—行数据处理452.4 lubridate日期时间处理472.4.1 为什么使用lubridate472.4.2 ymd/ymd_hms—年月日还是日月年?482.4.3 year/month/week/day/hour/minute/second—时间单位提取492.4.4 guess_formats/parse_date_time—时间日期格式分析492.5 stringr字符处理工具512.5.1 baseR vs stringr512.5.2 正则表达式基础532.5.3 简易正则表达式创建542.5.4 文本挖掘浅析55第3章 数据计算工具583.1 baseR计算工具概览593.1.1 基本数学函数593.1.2 基本运算符号613.1.3 基本统计函数623.2 dplyr包实战技巧633.2.1 常见实用函数中英对照 633.2.2 dplyr—行(Row)数据处理643.2.3 dplyr—列(Column)数据处理 733.3 文本挖掘实操88第4章 基本循环—loops和*apply924.1 for循环934.1.1 基本概念934.1.2 基本构建过程944.1.3 简单应用974.2 while循环984.2.1 基本概念984.2.2 基本构建过程994.2.3 简单应用1004.3 “*apply”函数家族1024.3.1 lapply—“线性”数据迭代1034.3.2 sapply—简约而不简单1064.3.3 apply—多维数据处理利器1074.3.4 vapply—迭代的安全模式1094.3.5 rapply—多层列表数据处理1124.3.6 mapply—对多个列表进行函数运算115第5章 优雅的循环—purrr包1195.1 map函数家族1205.1.1 map—对单一元素进行迭代运算1205.1.2 map2和pmap—对两个及以上元素进行迭代运算1255.1.3 imap—变量名称或位置迭代1285.1.4 lmap—对列表型数据中的列表元素进行迭代运算1305.1.5 invoke_map—对多个元素进行多个函数的迭代运算1315.2 探测函数群1345.2.1 detect/detect_index—寻找第一个匹配条件的值1345.2.2 every/some—列表中是否全部或部分元素满足条件?1365.2.3 has_element—向量中是否存在想要的元素?1375.2.4 head/tail_while—满足条件之前和之后的元素1385.2.5 keep/discard/com-pact—有条件筛选1395.2.6 prepend—随意插入数据1415.3 向量操纵工具箱1425.3.1 accumulate和reduce家族—元素累积运算1425.3.2 其他工具函数1435.4 其他实用函数1445.4.1 set_names—命名向量中的元素1445.4.2 vec_depth—嵌套列表型数据探测器1485.5 循环读取、清理和计算149第6章 data.table—超级“瑞士军刀”1526.1 data.table简介1526.2 基本函数1536.2.1 fread—速读1536.2.2 DT[i, j, by]—数据处理句式基本结构1586.2.3 “:=”—急速修改数值1626.2.4 fwrite—速写,数据输出1656.3 进阶应用1676.3.1 有条件的急速行筛选1686.3.2 列选择的多种可能1716.3.3 批量处理列及列的分裂与合并1736.3.4 合并数据集1766.3.5 “长宽”数据置换1776.3.6 计算分析178第二部分 案例篇第7章 数据科学从业者调查分析1827.1 案例背景及变量介绍1827.2 简单数据清洗1837.3 数据科学从业者探索性数据分析1867.4 封装绘图函数1897.5 通过柱状图进行探索性分析数据1907.6 未来将会学习的机器学习工具1937.7 明年将学习的机器学习方法194第8章 共享单车租用频次分析1988.1 案例简介1988.2 数据准备及描述性统计分析1998.3 数据重塑2018.4 柱状图在数据分析中的简单应用2028.5 柱状和扇形图在数据分析中的运用2048.6 折线图在数据分析中的运用2078.7 相关系数图综合分析209第9章 星巴克商业案例分析2119.1 案例背景介绍及变量介绍2119.2 数据描述性统计量分析2129.3 数据统计分析213第10章 学生成绩水平分析22010.1 数据集22010.2 探索性数据分析229第11章 YouTube视频观看分析23411.1 案例背景及相关内容介绍23411.2 探索性数据分析237
本书按照数据分析的一般流程,介绍和讨论了在各个流程中所需的常见的R函数,并对其中相对重要的函数做了较为详尽的参数解释和代码演示。相较于大部分R语言学习资料中粗略概况性地告知读者不同场景可能用到的R函数,本书更侧重于帮助读者建立自己的数据分析逻辑结构以及由一系列常见R函数组成的“工具箱”。特别是tidyverse系列工具箱和data.table包,目前的中文博客社区里很少有资料对这两者进行较为完整和系统的介绍。对于R语言初学者来说,tidyverse系列是学习使用R的很好起点,而data.table包则对中高级用户大有助益。另外,本书对重要的“工具”函数,例如循环和迭代,做了较为详尽的解释和代码演示,来帮助读者理解其运行机制。最后,书中提供了5个实战案例,结合书中介绍的各种“工具”,强化使用R语言进行数据分析的路线图。
刘健 邬书豪 著
刘健,资深R语言技术专家,数据科学工程师。在新西兰皇家植物与食品研究院工作,参与一项国际和两项国家的级别研究项目,使用R语言开发完成气象数据自动提取和模型文件自动化工具。由此参与编写《Landscape Modelling and Decision Support》(在审)一书;独立开发完成R语言程序包一个。该程序包主要针对模型软件APSIMX的输出数据进行整合及可视化;气象数据自动化报告系统。使用R语言对新西兰不同地区的气象数据进行自动获取、归集和可视化报告。科研上,作为作者发表期刊一篇,作者撰写科研报告两篇;作为R语言技术专家合作撰写期刊一篇,合作撰写科研报告16篇。
前 言为什么要写这本书开始学习和使用R语言,初学者最开始往往会有各种困惑和纠结,可能会走过许多的弯路。和众多初学者一样,我们也深感R语言的学习道路荆棘密布。写这本书的初衷就是希望将我们的经历分享给大家,让学习R语言的道路变得平坦一些,降低初学者使用R语言的难度。在我们学习交流R语言的过程中,发现优选的挑战是学习资料过剩却不精。另外,国内的技术社区关于R语言的问答内容相对较少。开源的R语言从来不缺免费的学习资料,这当然是好事一件。但凡事总有两面性,因为每个人学习R语言的目的和应用场景都略有不同,很多学习资料初看像是在介绍R语言不同方向的问题或者介绍一些新奇的R包和函数,但是我们发现初学者经常容易花费大量的时间重复阅读相同的概念性问题。比如说使用R语言进行数据清理,不同的数据来源和分析任务可能会让数据清理有上百种可行的方案。在耗费了很多时间尝试这些等