R语言与数据分析实战pdf

图书网 2018年9月2日12:58:38144.9K
摘要

囊括高效数据处理技巧,涵盖统计方法、分类算法、机器学习核心原理,直接操作内容并快速检验结果。
熟练掌握R编程,实现快速分析。
R基础到数据处理实操,一册在手,迅速掌握。
利用作者的丰富经验,解决数据分析过程中的多种问题。

R语言与数据分析实战 内容简介

《R语言与数据分析实战》以R语言的“编程属性”为中心,内容涵盖R语言基础理论到实际数据分析,通过分析模型和算法等更实用的示例,讲解了数据可视化、统计分析、数据挖掘、机器学习等实际业务中常用的实操技巧,以及代码生成方法。书中还收录了作者的实战经验和学习体会,可以解决数据分析过程中出现的各种问题。对R语言有一定了解但在实际运用中感到困惑的读者,可以在书中找到多种解题方法,并能够迅速应用于一线业务。

R语言与数据分析实战 目录

推荐语

前言

本书结构

第1章 搭建R编程环境 1

1.1 为什么是R 2

1.2 安装R 2

1.2.1 在Windows操作系统中安装R 4

1.2.2 在Linux系统下安装R 6

1.2.3 在MacOSX中安装R 12

1.3 启动R 15

1.4 查看帮助 16

1.5 R集成开发环境 19

1.6 批处理 21

1.7 使用包 22

参考资料 24

第2章 数据类型 25

2.1 变量 26

2.1.1 变量命名规则 26

2.1.2 变量赋值 26

2.2 调用函数时指定参数 27

2.3 标量 28

2.3.1 数值 28

2.3.2 NA 29

2.3.3 NULL 29

2.3.4 字符串 30

2.3.5 逻辑值 31

2.3.6 因子 32

2.4 向量 34

2.4.1 创建向量 35

2.4.2 访问向量中的数据 36

2.4.3 向量运算 39

2.4.4 连续数字组成的向量 41

2.4.5 保存重复值的向量 42

2.5 列表 43

2.5.1 创建列表 43

2.5.2 访问列表中的数据 44

2.6 矩阵 45

2.6.1 创建矩阵 45

2.6.2 访问矩阵中的数据 48

2.6.3 矩阵运算 49

2.7 数组 52

2.7.1 创建数组 53

2.7.2 访问数组数据 54

2.8 数据框 54

2.8.1 创建数据框 55

2.8.2 访问数据框 57

2.8.3 实用工具函数 59

2.9 类型判别 61

2.10 类型转换 62

参考资料 64

第3章 R语言编程 65

3.1 R的特征 66

3.2 流程控制(条件语句与循环语句)66

3.2.1 if语句 66

3.2.2 循环语句 67

3.3 运算 69

3.3.1 数值运算 70

3.3.2 向量运算 70

3.3.3 NA处理 72

3.4 定义函数 74

3.4.1 基本定义 74

3.4.2 可变长参数 75

3.4.3 嵌套函数 76

3.5 作用域 77

3.6 值传递 80

3.7 对象的不变性 81

3.8 模块模式 83

3.8.1 队列 84

3.8.2 编写队列模块 85

参考资料 86

第4章 数据操作Ⅰ:基于向量的处理与外部数据处理 87

4.1 鸢尾花数据集 88

4.2 读写文件 90

4.2.1 读写CSV文件 90

4.2.2 读写对象文件 93

4.3 合并数据框的行与列 94

4.4 apply系列函数 96

4.4.1 apply()97

4.4.2 lapply()函数 99

4.4.3 sapply()102

4.4.4 tapply()104

4.4.5 mapply()106

4.5 数据分组并调用函数 107

4.5.1 summaryBy()108

4.5.2 orderBy()110

4.5.3 sampleBy()112

4.6 数据拆分与合并 114

4.6.1 split()115

4.6.2 subset()116

4.6.3 数据合并 117

4.7 数据排序 119

4.7.1 sort()119

4.7.2 order()120

4.8 访问数据框中的列 121

4.8.1 with()121

4.8.2 within()122

4.8.3 attach()与detach()124

4.9 查找符合条件的数据索引 126

4.10 分组运算 127

4.11 更易处理的数据表现形式 128

4.12 与MySQL联动 131

4.12.1 安装MySQL及RMySQL 131

4.12.2 使用RMySQL访问MySQL数据库 140

参考资料 141

第5章 数据操作Ⅱ:数据处理及加工 143

5.1 数据处理及加工相关包 144

5.2 使用SQL处理数据 144

5.3 数据分析:拆分、应用、合并 146

5.3.1 adply()函数 147

5.3.2 ddply()函数 149

5.3.3 轻松进行按组运算 150

5.3.4 mdply()153

5.4 数据结构变形与汇总 154

5.4.1 melt()155

5.4.2 cast()157

5.4.3 数据汇总 158

5.5 数据表:更快、更方便的数据框 160

5.5.1 创建数据表 160

5.5.2 数据访问与分组运算 162

5.5.3 使用key快速访问数据 164

5.5.4 使用key合并数据表 166

5.5.5 利用引用修改数据 167

5.5.6 将列表转换为数据框 168

5.6 更好的循环语句 170

5.7 并行处理 172

5.7.1 设置进程数 173

5.7.2 plyr并行化 174

5.7.3 foreach并行化 176

5.8 单元测试与调试 177

5.8.1 testthat 177

5.8.2 使用test_that()进行测试分组 179

5.8.3 测试文件的结构 180

5.8.4 调试 181

5.9 测定代码执行时间 187

5.9.1 测定命令语句执行时间 187

5.9.2 代码性能测试 189

参考资料 191

第6章 绘图 193

6.1 散点图 194

6.2 图形选项 195

6.2.1 坐标轴名称 196

6.2.2 图形标题 197

6.2.3 点的类型 197

6.2.4 点的大小 198

6.2.5 颜色 199

6.2.6 坐标轴的取值范围 200

6.2.7 图形类型 201

6.2.8 线型 204

6.2.9 图形排列 204

6.2.10 抖动 205

6.3 基本图形 207

6.3.1 点 207

6.3.2 折线 209

6.3.3 直线 211

6.3.4 曲线 212

6.3.5 多边形 213

6.4 字符串 216

6.5 识别图形中的数据 218

6.6 图例 219

6.7 绘制矩阵中的数据(matplot、matlines、matpoints)220

6.8 应用图形 221

6.8.1 箱线图 222

6.8.2 直方图 225

6.8.3 密度图 227

6.8.4 条形图 229

6.8.5 饼图 230

6.8.6 马赛克图 232

6.8.7 散点图矩阵 234

6.8.8 透视图、等高线图 235

参考资料 238

第7章 统计分析 239

7.1 生成随机数与分布函数 240

7.2 基本统计量 243

7.2.1 样本均值、样本方差、样本标准差 243

7.2.2 五数概括 244

7.2.3 众数 246

7.3 样本抽取 246

7.3.1 简单随机抽样 247

7.3.2 考虑权值的样本抽取 248

7.3.3 分层随机抽样 249

7.3.4 系统抽样 251

7.4 列联表 252

7.4.1 创建列联表 253

7.4.2 求和与百分比 254

7.4.3 独立性检验 256

7.4.4 费舍尔精确检验 261

7.4.5 McNemar检验 262

7.5 拟合优度检验 265

7.5.1 卡方检验 265

7.5.2 夏皮罗—威尔克检验 265

7.5.3 柯尔莫诺夫—斯米尔诺夫检验 266

7.5.4 Q—Q图 268

7.6 相关分析 271

7.6.1 皮尔逊相关系数 272

7.6.2 斯皮尔曼相关系数 275

7.6.3 肯德尔等级相关系数 277

7.6.4 相关系数检验 277

7.7 估计与检验 278

7.7.1 单样本均值 279

7.7.2 两独立样本均值 282

7.7.3 两配对样本均值 285

7.7.4 两样本方差 287

7.7.5 单样本比率 288

7.7.6 两样本比率 290

参考资料 291

第8章 线性回归 293

8.1 线性回归的基本假设 294

8.2 简单线性回归 295

8.2.1 创建模型 295

8.2.2 提取线性回归结果 296

8.2.3 预测与置信区间 298

8.2.4 模型评估 299

8.2.5 方差分析及模型间比较 302

8.2.6 模型诊断图形 304

8.2.7 回归直线的可视化 306

8.3 多元回归 307

8.3.1 创建及评估模型 307

8.3.2 分类变量 308

8.3.3 多元回归模型的可视化 310

8.3.4 使用函数I()312

8.3.5 变量的变换 314

8.3.6 交互作用 314

8.4 异常值 320

8.5 变量选择 321

8.5.1 选择变量的方法 322

8.5.2 比较所有情形 325

参考资料 328

第9章 分类算法Ⅰ:数据探索、预处理、模型评估方法 331

9.1 数据探索 332

9.1.1 技术统计 332

9.1.2 数据可视化 337

9.2 预处理 340

9.2.1 数据变换 340

9.2.2 缺失值处理 345

9.2.3 变量选择 348

9.3 模型评估方法 358

9.3.1 评估指标 358

9.3.2 ROC曲线 361

9.3.3 交叉检验 365

参考资料 375

第10章 分类算法Ⅱ:机器学习算法 377

10.1 逻辑回归模型 378

10.2 多项逻辑回归分析 381

10.3 决策树 384

10.3.1 决策树模型 385

10.3.2 分类与回归树 386

10.3.3 条件推断决策树 389

10.3.4 随机森林 391

10.4 神经网络 396

10.4.1 神经网络模型 396

10.4.2 神经网络模型学习 398

10.5 支持向量机 402

10.5.1 支持向量机模型 403

10.5.2 支持向量机学习 404

10.6 类别不平衡 408

10.6.1 向上取样、向下取样 409

10.6.2 SMOTE 411

10.7 文档分类 413

10.7.1 语料库与文档 413

10.7.2 文档变换 414

10.7.3 文档的矩阵表示 415

10.7.4 高频词 418

10.7.5 词语之间的相关关系 419

10.7.6 文档分类 420

10.7.7 从文件创建语料库 422

10.7.8 元数据 424

10.8 caret包 427

参考资料 431

第11章 利用泰坦尼克数据练习机器学习 433

11.1 泰坦尼克数据格式 434

11.2 读入数据 434

11.2.1 转换数据类型 435

11.2.2 分离测试数据 437

11.2.3 准备交叉检验 438

11.3 数据探索 440

11.4 评估指标 444

11.5 决策树模型 444

11.5.1 rpart的交叉检验 445

11.5.2 准确度评估 446

11.5.3 条件推断决策树 447

11.6 发现其他特征 448

11.6.1 使用ticket识别家庭 448

11.6.2 预测生还概率 449

11.6.3 添加家庭ID 450

11.6.4 合并家庭成员的生还概率 452

11.6.5 使用家庭信息建模ctree()454

11.6.6 性能评估 455

11.7 交叉检验并行化 457

11.7.1 反复执行3次10层交叉检验 457

11.7.2 使用foreach()与%dopar%进行并行化 458

11.8 开发更好的算法 459

参考资料 460

R语言与数据分析实战 精彩文摘

本书面向的是熟悉软件开发的读者,以及关注统计、机器学习技术的朋友,希望能够帮助他们快速学习R 语言。因此,书中讲解了我认为最重要的R 函数与相关包,使各位能够在短时间内了解并使用。我尽量使书中代码可以独立运行,并且添加了许多代码的运行结果截图,以帮助各位轻松理解所学内容,而不必每次都要亲自运行。

本书不讲解编程基础,也不介绍相关理论,所以不会详细叙述变量、变量作用域、循环语句含义等编程语言中的基本概念。相关内容的讲解虽然涉及统计学、机器学习等基本概念,但不会对理论部分进行深入介绍。其实,一本书不可能涵盖所有内容,书中列出了相关参考资料,各位可以进一步学习。此外,由于本书旨在使各位掌握R 语言的使用方法,所以不会涉及R 语言的内部结构和使用R 语言创建库等内容。

第1章介绍R 的安装、启动、开发环境等。

第2章与第3章讲解数据存储中使用的多种数据类型、条件语句、循环语句等基本编程知识,以帮助各位了解使用R 进行编程的基本方法。

数据分析中,先要读入数据,然后计算总值或平均值,再创建模型进行评估。整个过程看似简单,实则不然。创建模型前需要耗费相当长的时间对数据进行预处理,因为数据分析中得到的数据资料往往都是未经整理的原始数据。比如,即使是同样的体检数据(如175 cm),也会随着输入者的不同而有1.75 m、175 cm、175.0 cm、175 等形式。使用这些数据前,需要对其进行统一处理,以便后续使用。

我们有时需要从数据已有属性推导新属性,比如通过身高、体重数据计算BMI 指数,并将其作为新属性存储到数据。

像这样,数据经过一系列处理后,才能分组计算数据的总值、平均值等基本统计量,才能帮助我们更好地了解数据特征。比如,按照班级、科目分别计算学生的平均成绩。

第4章与第5章介绍R 中的基本函数与应用包,它们贯穿数据分析全过程。随着函数的增多,学习开始变得有难度,需要耗费大量时间,但这也恰恰表明其重要性。第4 章与第5 章讲解的数据主要为数值或表格形式,而第6章讲解数据可视化。对数据倾向性进行判断或比较时,采用柱形图、折线图、密度图等形式,这比采用数值或表格形式更易于理解。

第7~10章主要讲解统计分析、线性回归、分类算法(Classification Algorithm)应用方法等内容,它们对整理好的数据进行分析建模。主要内容包括数据平均值是否不同、比值间是否有差别、向数据应用Y=aX+b 等简单关系式计算a 与b 的值、使用机器学习算法预测数据分类。

第11章讲解建模示例,对“泰坦尼克”号生还者数据应用分类算法,创建预测乘客生还可能性的模型。这一章的示例代码包含本书全部内容,有一定难度,但是一个完整的系统。各位以后创建机器学习模型时,可以参考第11 章的示例代码,相信会得到很好的启发。

图书网:R语言与数据分析实战pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:14   其中:访客  14   博主  0
    • 佳
      1

      不错

      • 佳
        1

        不错哦

        • 1999
          1999 9

          好书!

          • nononee
            nononee 1

            挺好的

            • Logan
              Logan 9

              一直很想找一本全面讲述R语言使用的书,这本书满足了我所有的需求

              • stromrage
                stromrage 9

                多谢楼主分享资源!赞一个!

                • sixvable
                  sixvable 9

                  是本好书,又纸质版可惜不在身边

                  • 周小岩
                    周小岩 9

                    想要

                    • nnnnnn
                      nnnnnn 9

                      不错不错

                      • 123zisqndiqwd
                        123zisqndiqwd 0

                        多谢楼主分享 这个书非常nice 楼主好人一生平安