R数据科学实战:工具详解与案例分析
全新正版 极速发货
¥
36.89
5.3折
¥
69
全新
库存4件
作者刘健 邬书豪
出版社机械工业出版社
ISBN9787111629948
出版时间2019-07
装帧平装
开本16开
定价69元
货号1201909721
上书时间2024-06-28
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
刘健,资深R语言技术专家,数据科学工程师。在新西兰皇家植物与食品研究院工作,参与一项靠前和两项国家的级别研究项目,使用R语言开发完成气象数据自动提取和模型文件自动化工具。由此参与编写《Landscape Modelling and Decision Support》(在审)一书;独立开发完成R语言程序包一个。该程序包主要针对模型软件APSIMX的输出数据进行整合及可视化;气象数据自动化报告系统。使用R语言对新西兰不同地区的气象数据进行自动获取、归集和可视化报告。科研上,作为作者发表期刊一篇,作者撰写科研报告两篇;作为R语言技术专家合作撰写期刊一篇,合作撰写科研报告16篇。
目录
目 录推荐语前言部分 工具包篇章 数据导入工具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 数据统计分析2130章 学生成绩水平分析22010.1 数据集22010.2 探索性数据分析2291章 YouTube视频观看分析23411.1 案例背景及相关内容介绍23411.2 探索性数据分析237
内容摘要
本书按照数据分析的一般流程,介绍和讨论了在各个流程中所需的常见的R函数,并对其中相对重要的函数做了较为详尽的参数解释和代码演示。相较于大部分R语言学习资料中粗略概况性地告知读者不同场景可能用到的R函数,本书更侧重于帮助读者建立自己的数据分析逻辑结构以及由一系列常见R函数组成的“工具箱”。特别是tidyverse系列工具箱和data.table包,目前的中文博客社区里很少有资料对这两者进行较为完整和系统的介绍。对于R语言初学者来说,tidyverse系列是学习使用R的很好起点,而data.table包则对中不错用户大有助益。另外,本书对重要的“工具”函数,例如循环和迭代,做了较为详尽的解释和代码演示,来帮助读者理解其运行机制。很后,书中提供了5个实战案例,结合书中介绍的各种“工具”,强化使用R语言进行数据分析的路线图。
精彩内容
前 言为什么要写这本书开始学习和使用R语言,初学者最开始往往会有各种困惑和纠结,可能会走过许多的弯路。和众多初学者一样,我们也深感R语言的学习道路荆棘密布。写这本书的初衷就是希望将我们的经历分享给大家,让学习R语言的道路变得平坦一些,降低初学者使用R语言的难度。在我们学习交流R语言的过程中,发现优选的挑战是学习资料过剩却不精。另外,国内的技术社区关于R语言的问答内容相对较少。开源的R语言从来不缺免费的学习资料,这当然是好事一件。但凡事总有两面性,因为每个人学习R语言的目的和应用场景都略有不同,很多学习资料初看像是在介绍R语言不同方向的问题或者介绍一些新奇的R包和函数,但是我们发现初学者经常容易花费大量的时间重复阅读相同的概念性问题。比如说使用R语言进行数据清理,不同的数据来源和分析任务可能会让数据清理有上百种可行的方案。在耗费了很多时间尝试这些不同的方法却不得要领时,随之而来的挫败感往往让人心生怯意。所以,我们写下此书,系统性地讲解R语言最流行实用的不同数据运用主题的操作框架,核心是希望让读者能够快速上手并实际运用R语言。R语言只是万千工具中的一种,熟练掌握工具的各种特性固然重要,但是更重要的是明确任务目标和处理问题的先后顺序。换句话说,使用R语言进行数据分析的首要任务是明确自己的目标,然后围绕该目标建立合理的流程图,其次才是寻找最合适的工具来帮助我们完成每一个具体的任务。所以,最后我们发现万变不离其宗的是清晰的数据分析逻辑。只有当有了自己的数据分析路线图之后,才不会被每天涌现的新的学习资料所淹没,反而是能高效地搜索和应用这些新内容。这也是本书希望传递给读者的信息,R语言则是传递信息的一种媒介。就如同在军事战争中,你有了不错武器,并不一定可以确保你能打败敌人,只有对这些武器有了系统性的认识后,才代表你真正拥有了这些武器。本书就是R语言这件武器的速成手册,希望读者在系统性地认识R语言在数据科学领域中的效力后,降低其在生产环境中的实际运用难度。读者对象使用R语言进行数据处理的R语言初学者使用R语言进行大数据处理的R语言爱好者数据分析师、数据挖掘工程师转型的数据科学人员大中专院校学生本书特色本书按照数据分析的一般流程,介绍和讨论了在各个流程中所需的常见的R函数,并对其中相对重要的函数做了较为详尽的参数解释和代码演示。相较于大部分R语言学习资料中粗略概况性地告知读者不同场景可能用到的R函数,本书更侧重于帮助读者建立自己的数据分析逻辑结构以及由一系列常见R函数组成的“工具箱”。特别是tidyverse系列工具箱和data.table包,目前的中文博客社区里很少有资料对这两者进行较为完整和系统的介绍。对于R语言初学者来说,tidyverse系列是学习使用R的最佳起点,而data.table包则对中不错用户大有助益。另外,本书对重要的“工具”函数,例如循环和迭代,做了较为详尽的解释和代码演示,来帮助读者理解其运行机制。最后,书中提供了5个实战案例,结合书中介绍的各种“工具”,强化使用R语言进行数据分析的路线图。如何阅读本书本书共11章,前6章(工具包篇)主要介绍和讨论使用R语言的一般流程以及常用的R包;后5章(案例篇)包含了5个实战案例,通过与前6章的内容相结合,展示如何使用这些R包。复现书中的代码需要读者对.Rproj有一定的了解,建议读者参阅相关网络教程学会使用.Rproj。使用.Rproj的原因在于其可以将每一次数据分析或练习都视为一个独立的项目(不必调用setwd函数重置工作路径),这样做不但可以减少代码出错的几率,而且还能更利于进行数据管理。对于零基础的R语言初学者,建议按照章节顺序进行阅读,尤其是~3章,介绍了数据分析中相对重要的数据准备阶段。对于有一定基础的R语言用户,可以直接阅读自己感兴趣的部分。各章节的简要介绍如下所示。章为数据读取,对比介绍不同格式数据读取所需的R包,着重介绍平面文档和Excel格式文件的读取。第2章为数据清洗,主要介绍tibble(版本号:1.4.2)和tidyr(版本号:0.8.0)中常用的函数及其参数设置。第3章为数据计算,主要介绍dplyr(版本号:0.7.4)中常用的函数及使用技巧。第4章为R中的迭代循环,主要介绍基础for和while循环及apply家族函数的运行机制。第5章主要介绍purrr包(版本号:0.2.4)的关键函数和运行机制。第6章着重讲解data.table包(版本号:1.11.4)的使用技巧。第7~11章为5个实战案例,在ggplot2(版本号:2.2.1)包的配合下,结合前6章中的常用函数完整地呈现了一般的数据分析流程和简单的探索性数据分析。5个案例具体如下:数据科学从业者调查数据集清洗及探索性分析。共享单车数据集初级分析。星巴克店面数量数据集初级分析。学生成绩数据集初级分析。YouTube视频观看数据集处理及初级分析。本书中的代码内容是在Rstudio内完成的,环境参数如下:R version 3.5.0 (2018-04-23)Platform: x86_64-w64-mingw32/x64 (64-bit)Running under: Windows >= 8 x64 (build 9200)Matrix products: defaultlocale:[1] LC_COLLATE=Chinese (Simplified)_China.936 LC_CTYPE=Chinese (Simplified)_China.936 LC_MONETARY=Chinese (Simplified)_China.936[4] LC_NUMERIC=C LC_TIME=Chinese (Simplified)_China.936 attached base packages:[1] stats graphics grDevices utils datasets methods base 勘误和支持由于作者的水平有限,写作时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,特意创建一个在线支持的GitHub站点:https://github.com/frank0434/Data-Science-in-Action-R-Tools-and-Case-Studies。我们将尽力在线上为读者提供最满意的解答。书中的全部源文件都可以从上面的GitHub站点下载,我们也会将相应的功能及时更新出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱gong0435@gmail.com,期待能够得到你们的真挚反馈。致谢刘健在此感谢我的同事及人生导师Linley Jesson。是她带我进入R语言的世界,并一直鼓励我不断尝试突破自我。是她的耐心指导,让我能够在短时间内熟练掌握R语言并应用到工作中解决实际问题。感谢我的父母,将我培养成人。最后感谢我的女儿和妻子,是你们的理解和默默付出让我能够占用陪伴你们的时间来完成大部分书稿。邬书豪在此感谢我的大学老师徐磊教授7年来一直对我的鼓励和支持,是您的引导和启迪让我敢于多多尝试,坚定自己的信念走上了数据科学这条路,您谦谦君子的人格魅力与意志信念给予我人生中巨大的精神力量,感谢您一直与我分享您的待人接物的理念,使我受益匪浅。感谢我的好朋友石楠女士,你对我在数据科学成长道路上的关心、引导,使我坚定地在数据科学道路上解决了安身立命之本,指导我以严谨认真的态度对待工作和生活。感谢我的父母对我的养育与坚定的支持,让我有机会为自己的人生理想打拼,感谢我的领导给予我成长和贡献自己产出的机会,感谢我那些优秀的同事们,与你们一起共事让我成长良多。感谢机械工业出版社华章分社的编辑杨福川和张锡鹏,在这一年多的时间中始终支持我们的写作,是你们的理解和支持帮助我们顺利完成全部书稿。谨以此书献给和我们一样在数据科学领域摸索前行的伙伴,以及众多热爱R语言的朋友们!刘健 邬书豪
— 没有更多了 —
以下为对购买帮助不大的评价