内容简介
这是一部能指导零基础的读者快速掌握R语言并利用R语言进入数据科学领域的著作。
两位作者在R语言和数据科学领域有丰富的实践经验,先是有针对性地讲解了利用R语言进行数据处理需要掌握和使用的6大类17种工具,然后是结合这些工具的使用给出了5个典型的综合性案例,帮助读者迅速将理论与实践融会贯通。
全书一共11章,逻辑上分为两大部分:
*部分 R语言工具箱(第1-6章)
先从数据导入、数据清洗、数据计算、循环和迭代等几个方面详细讲解了R语言中相关的各种常用的工具,然后深入地讲解了R语言中的“瑞士军”data.table包。掌握这部分内容,能满足R语言数据处理中的基本需求。
第二部分数据科学实战案例(第7-11章)
第7章先对数据科学从业者的现状和未来应该掌握的技术和工具进行了介绍;
第8-11章通过4个综合性的案例讲解了使用R语言进行数据处理和分析的一整套流程和方法,与*部分的内容融会贯通。
目录
语
前言
第一部分 工具包篇
第1章 数据导入工具2
1.1 utils—数据读取基本功3
1.1.1 read.csv/csv2—逗号分隔数据读取3
1.1.2 read.delim/delim2—特定分隔符数据读取6
1.1.3 read.table—任意分隔符数据读取7
1.2 readr—进阶数据读取15
1.3 utilsvsreadr—你喜欢哪个?17
1.4 readxl—Excel文件读取18
1.5 DBI—数据库数据查询、21
1.6 pdftools—PDF文件22
1.7 jsonlite—JSON文件25
1.8 foreign package统计软件数据26
1.9 本章小结27
第2章 数据清理工具28
2.1 基本概念29
2.2 tibble包—数据集准备31
2.2.1 为什么使用tibble32
2.2.2 创建tbl格式34
2.2.3 as_tibble—转换已有格式的数据集34
2.2.4 add_row/column—实用小工具37
2.3 tidyr—数据清道夫40
2.3.1 为什么使用tidyr40
2.3.2 gather/spread—“长”“宽”数据转换40
2.3.3 separate/unite—拆分合并列43
2.3.4 replace_na / drop_na/—默认值处理工具44
2.3.5 fill/complete—填坑44
2.3.6 separate_rows/nest/unest—行数据处理45
2.4 lubridate日期时间处理47
2.4.1 为什么使用lubridate47
2.4.2 ymd/ymd_hms—年月日还是日月年?48
2.4.3 year/month/week/day/hour/minute/second—时间单位提取49
2.4.4 guess_formats/parse_date_time—时间日期格式分析49
2.5 stringr字符处理工具51
2.5.1 baseRvs stringr51
2.5.2 正则表达式基础53
2.5.3 简易正则表达式创建54
2.5.4 文本挖掘浅析55
第3章 数据计算工具58
3.1 baseR计算工具概览59
3.1.1 基本数学函数59
3.1.2 基本运算符号61
3.1.3 基本统计函数62
3.2 dplyr包实战技巧63
3.2.1 常见实用函数中英对照 63
3.2.2 dplyr—行(Row)数据处理64
3.2.3 dplyr—列(Column)数据处理 73
3.3 文本挖掘实操88
第4章 基本循环—loops和*apply92
4.1 for循环93
4.1.1 基本概念93
4.1.2 基本构建过程94
4.1.3 简单应用97
4.2 while循环98
4.2.1 基本概念98
4.2.2 基本构建过程99
4.2.3 简单应用100
4.3 “*apply”函数家族102
4.3.1 lapply—“线性”数据迭代103
4.3.2 sapply—简约而不简单106
4.3.3 apply—多维数据处理利器107
4.3.4 vapply—迭代的安全模式109
4.3.5 rapply—多层列表数据处理112
4.3.6 mapply—对多个列表进行函数运算115
第5章 优雅的循环—purrr包119
5.1 map函数家族120
5.1.1 map—对单一元素进行迭代运算120
5.1.2 map2和pmap—对两个及以上元素进行迭代运算125
5.1.3 imap—变量名称或位置迭代128
5.1.4 lmap—对列表型数据中的列表元素进行迭代运算130
5.1.5 invoke_map—对多个元素进行多个函数的迭代运算131
5.2 探测函数群134
5.2.1 detect/detect_index—寻找第一个匹配条件的值134
5.2.2 every/some—列表中是否全部或部分元素满足条件?136
5.2.3 has_element—向量中是否存在想要的元素?137
5.2.4 head/tail_while—满足条件之前和之后的元素138
5.2.5 keep/discard/com-pact—有条件筛选139
5.2.6 prepend—随意插入数据141
5.3 向量操纵工具箱142
5.3.1 accumulate和reduce家族—元素累积运算142
5.3.2 其他工具函数143
5.4 其他实用函数144
5.4.1 set_names—命名向量中的元素144
5.4.2 vec_depth—嵌套列表型数据探测器148
5.5 循环读取




