《R语言入门经典》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(英)安迪·尼古拉斯(Andy Nicholls),理查德·皮尤(Richard Pugh)
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115476296
  • 页数:448 页
图书介绍:本书作为R语言的入门教程,采用直观、循序渐进的方法讲解了R语言在数据统计/分析中的用法,读者将学会如何对数据进行导入、操纵、汇总、建模和绘制,如何掌握完整的数据分析流程,如何构建高效、可复用、可与他人分享的代码,还将学会如何使用书中的最佳做法来自行构建R软件包。

第1章R语言社区 1

1.1 R语言简史 1

1.1.1 S语言的诞生 1

1.1.2 R语言的诞生 2

1.2 R语言社区 3

1.2.1邮件列表 3

1.2.2 R语言手册 4

1.2.3在线资源 4

1.2.4 R语言联盟 4

1.2.5用户活动 5

1.3 R语言的开发 5

1.4本章小结 6

1.5本章答疑 6

1.6课后研习 7

1.7补充练习 7

第2章R语言环境 8

2.1集成开发环境 8

2.1.1 R GUI 8

2.1.2 RStudio IDE 9

2.1.3其他开发环境 10

2.2 R语法 10

2.2.1控制台 10

2.2.2脚本 11

2.3 R对象 12

2.3.1 R包 12

2.3.2搜索路径 12

2.3.3列出对象 13

2.3.4 R的工作空间 14

2.4使用R包 16

2.4.1查找合适的包 17

2.4.2安装R包 17

2.4.3载入R包 19

2.5内部帮助 20

2.6本章小结 21

2.7本章答疑 21

2.8课后研习 22

2.9补充练习 23

第3章 单模式数据结构 24

3.1 R的数据类型 24

3.2向量、矩阵和数组 25

3.3向量 25

3.3.1创建向量 26

3.3.2向量属性 30

3.3.3索引向量 32

3.4矩阵 36

3.4.1创建矩阵 37

3.4.2矩阵属性 39

3.4.3索引矩阵 41

3.5数组 44

3.5.1创建数组 44

3.5.2数组属性 45

3.5.3索引数组 45

3.6单模式数据对象之间的关系 46

3.7本章小结 47

3.8本章答疑 47

3.9课后研习 48

3.10补充练习 49

第4章 多模式数据结构 50

4.1多模式结构 50

4.2列表 51

4.2.1列表是什么 51

4.2.2创建空列表 52

4.2.3创建非空列表 52

4.2.4创建有元素名的列表 53

4.2.5创建列表:总结 53

4.2.6 列表属性 54

4.2.7索引列表 55

4.2.8 索引列表的子集 55

4.2.9引用列表的元素 58

4.2.10添加列表元素 60

4.2.11列表语法总结 61

4.2.12为何要学习列表 63

4.3数据框 66

4.3.1创建数据框 66

4.3.2查询数据框的属性 67

4.3.3选取数据框的列 67

4.3.4添加数据框的列 67

4.3.5索引数据框的列 68

4.3.6作为矩阵引用 69

4.3.7索引数据框总结 71

4.4探索数据 71

4.4.1数据的顶部和底部 72

4.4.2数据视图 72

4.4.3汇总数据 74

4.4.4可视化数据 74

4.5本章小结 75

4.6本章答疑 75

4.7课后研习 77

4.8补充练习 78

第5章 日期、时间和因子 80

5.1处理日期和时间 80

5.1.1创建日期对象 80

5.1.2创建包含时间的对象 81

5.1.3操控日期和时间 82

5.2 lubridate包 83

5.3处理分类数据 84

5.3.1创建因子 84

5.3.2管理因子的水平 86

5.3.3创建连续数据的因子 86

5.4本章小结 87

5.5本章答疑 88

5.6课后研习 88

5.7补充练习 89

第6章 常用R函数 90

6.1 R函数的用法 90

6.2处理数值数据的函数 91

6.2.1数学函数和运算符 91

6.2.2统计汇总函数 92

6.2.3模拟和统计分布 93

6.3处理逻辑数据的函数 94

6.4处理缺失数据的函数 95

6.5处理字符数据的函数 96

6.5.1处理简单的字符 96

6.5.2查找和替换 97

6.6本章小结 98

6.7本章答疑 98

6.8课后研习 98

6.9补充练习 99

第7章 编写函数:第一部分 100

7.1为何要学习函数 100

7.2创建简单的函数 101

7.2.1命名函数 102

7.2.2定义函数的参数 103

7.2.3函数作用域规则 104

7.2.4返回对象 104

7.3 If/Else结构 106

7.3.1一个简单的R示例 107

7.3.2嵌套语句 108

7.3.3使用一个条件 108

7.3.4多个测试值 109

7.3.5汇总成一个逻辑值 109

7.3.6简化逻辑输入 110

7.3.7反转逻辑值 111

7.3.8混合条件 112

7.3.9控制与/或语句 112

7.3.10提前返回 113

7.3.11示例 114

7.4本章小结 115

7.5本章答疑 115

7.6课后研习 116

7.7补充练习 117

第8章 编写函数:第二部分 119

8.1错误和警告 119

8.1.1 错误消息 120

8.1.2警告消息 121

8.2检查输入 122

8.3省略号 124

8.3.1使用省略号 125

8.3.2用省略号传递图形参数 125

8.4检查多值输入 128

8.5使用输入定义 130

8.6本章小结 133

8.7本章答疑 133

8.8课后研习 134

8.9补充练习 135

第9章 循环和汇总 136

9.1重复的任务 136

9.1.1循环 136

9.1.2 for循环 137

9.1.3 while循环 142

9.2“应用”函数家族 143

9.3 apply()函数 144

9.3.1 MARGIN 144

9.3.2简单的apply()用例 145

9.3.3使用多个MARGIN 146

9.3.4更高维结构使用apply() 147

9.3.5给“待应用”函数传递其他参数 148

9.3.6在自定义函数中使用apply() 150

9.3.7 给函数传递额外参数 151

9.3.8应用于数据框 152

9.4 lapply()函数 153

9.4.1 split()函数 154

9.4.2分割数据框 155

9.4.3用lapply()函数处理向量 157

9.4.4“应用”输入的次序 158

9.4.5用lapply()函数处理数据框 160

9.5 sapply()函数 161

9.5.1从sapply0返回 162

9.5.2为何要使用sapply() 164

9.6 tapply()函数 165

9.6.1多个分组变量 165

9.6.2多值返回 166

9.6.3从tapply()返回值 168

9.7本章小结 169

9.8本章答疑 169

9.9课后研习 170

9.10补充练习 171

第10章 导入和导出 172

10.1处理文本文件 172

10.1.1读入文本文件 173

10.1.2读入CSV文件 174

10.1.3导出文本文件 175

10.1.4更快导入和导出 175

10.1.5高效数据存储 175

10.1.6所有权和其他格式 176

10.2关系数据库 177

10.2.1 RODBC 177

10.2.2 DBI 178

10.3操作Microsoft Excel 179

10.4本章小结 183

10.5本章答疑 183

10.6课后研习 184

10.7补充练习 184

第11章 数据操控和转换 186

11.1排序 186

11.1.1数据框排序 187

11.1.2降序排列 187

11.2附加 188

11.3合并 188

11.3.1合并示例 189

11.3.2缺失值 190

11.4重复值 191

11.5重组 192

11.5.1用reshape进行重组 192

11.5.2融合 193

11.5.3重铸 194

11.5.4用tidyr进行重组 195

11.6数据整合 197

11.6.1使用“for”循环 197

11.6.2使用“应用”函数 198

11.6.3 aggregate()函数 199

11.6.4使用带公式的aggregate() 199

11.6.5根据指定列使用aggregate() 201

11.6.6计算baseline的差值 203

11.7本章小结 204

11.8本章答疑 204

11.9课后研习 205

11.10补充练习 205

第12章 高效数据处理 206

12.1 dplyr:处理数据的新方式 206

12.1.1创建dplyr (tbl df)对象 207

12.1.2排序 208

12.1.3访问子集 208

12.1.4添加新列 210

12.1.5合并 211

12.1.6整合 212

12.1.7管道操作符 215

12.2用data.tabl e高效处理数据 216

12.2.1创建data.table 216

12.2.2设置key 217

12.2.3取子集 217

12.2.4添加新行和新列 219

12.2.5合并 221

12.2.6整合 222

12.2.7处理超大数据集的其他包 223

12.3本章小结 224

12.4本章答疑 224

12.5课后研习 224

12.6补充练习 225

第13章 图形 226

13.1图形设备和颜色 226

13.1.1设备 226

13.1.2颜色 227

13.2高级图形函数 227

13.2.1单变量图形函数 228

13.2.2 plot()函数 230

13.2.3图形属性 231

13.3初级图形函数 235

13.3.1点和线 235

13.3.2文本 236

13.3.3图例 237

13.3.4其他初级函数 239

13.4图形参数 239

13.5控制布局 240

13.5.1网格布局 240

13.5.2 layout()函数 241

13.6本章小结 242

13.7本章答疑 242

13.8课后研习 243

13.9补充练习 244

第14章ggplot2图形包 245

14.1 ggplot2的哲学 245

14.2快速绘图和基本控制 246

14.2.1使用qplot() 246

14.2.2标题和轴 247

14.2.3使用图层 247

14.2.4把图形作为对象 248

14.3更改绘制类型 249

14.3.1绘制类型 249

14.3.2组合绘制类型 251

14.4图形属性 251

14.4.1控制图形属性 252

14.4.2标度和图例 254

14.4.3处理分组数据 256

14.5面板(分面) 257

14.5.1 facet_grid()的用法 258

14.5.2 facet_ wrap()的用法 259

14.5.3从qplot()中进行分面 260

14.6定制绘图 260

14.6.1 ggplot() 260

14.6.2坐标系 264

14.7主题和布局 265

14.7.1调整单个绘图 265

14.7.2全局主题 266

14.7.3图例布局 266

14.8 ggvis的演变 267

14.9本章小结 267

14.10本章答疑 268

14.11课后研习 268

14.12补充练习 269

第15章lattice图形 270

15.1格子图形的历史 270

15.2 lattice包 271

15.3创建简单的lattice图形 271

15.3.1 lattice图形类型 272

15.3.2绘制数据的子集 277

15.4图形选项 278

15.4.1标题和轴 278

15.4.2绘制类型和格式 279

15.5多变量 280

15.6数据的分组 281

15.7使用面板 282

15.7.1控制条头 283

15.7.2多个“By”变量 284

15.7.3面板函数 285

15.8控制样式 290

15.8.1预览样式 291

15.8.2创建主题 292

15.8.3使用主题 293

15.9本章小结 294

15.10本章答疑 294

15.11课后研习 295

15.12补充练习 295

第16章R模型和面向对象 296

16.1 R中的统计模型 296

16.2简单的线性模型 296

16.3在R中评估模型 298

16.3.1模型汇总 298

16.3.2模型诊断图 299

16.3.3提取模型元素 300

16.3.4作为列表对象的模型 302

16.3.5在绘图中添加模型线 304

16.3.6 模型预测 305

16.4多元线性回归 306

16.4.1更新模型 306

16.4.2比较嵌套模型 307

16.5交互项 309

16.6因子自变量 311

16.7变量转换 314

16.8 R和面向对象 316

16.8.1面向对象 316

16.8.2线性模型方法 317

16.9本章小结 318

16.10本章答疑 318

16.11课后研习 319

16.12补充练习 319

第17章 常见R模型 320

17.1广义线性模型 320

17.1.1 GLM定义 321

17.1.2拟合GLM模型 321

17.1.3拟合高斯模型 322

17.1.4 glm对象 323

17.1.5 Logistic回归 325

17.1.6泊松回归 327

17.1.7 GLM扩展 329

17.2非线性模型 329

17.2.1非线性回归 330

17.2.2非线性模型扩展 335

17.3生存分析 336

17.3.1 ovarian数据框 336

17.3.2删失数据 336

17.3.3估计生存函数 337

17.3.4比例风险 341

17.3.5生存模型扩展 344

17.4时间序列分析 344

17.4.1时间序列对象 344

17.4.2分解时间序列 346

17.4.3平滑 347

17.4.4自相关 349

17.4.5拟合ARIMA模型 349

17.5本章小结 352

17.6本章答疑 352

17.7课后研习 352

17.8补充练习 353

第18章 代码提速 354

18.1确定效率 354

18.1.1性能分析 355

18.1.2标准分析工具 355

18.2初始化 356

18.3向量化 357

18.3.1什么是向量化 358

18.3.2怎样编码可以向量化 358

18.4使用替换函数 360

18.5管理内存使用 360

18.6集成C++ 361

18.6.1 C+++和Rcpp的使用时机 361

18.6.2基本函数 362

18.6.3在C+++中使用R函数 364

18.7本章小结 364

18.8本章答疑 365

18.9课后研习 365

18.10补充练习 366

第19章 构建包 367

19.1为什么要构建R包 367

19.2 R包的结构 368

19.2.1创建包的结构 368

19.2.2 DESCRIPTION文件 369

19.2.3 NAMESPACE文件 370

19.2.4R目录 370

19.2.5 man目录 371

19.3代码质量 371

19.4用roxygen2自动创建文档 372

19.4.1函数的roxygen注释块 372

19.4.2撰写包的文档 374

19.4.3创建和更新帮助页面 374

19.5用devtools构建包 375

19.5.1检查 375

19.5.2构建 377

19.5.3安装 377

19.6本章小结 378

19.7本章答疑 378

19.8课后研习 378

19.9补充练习 379

第20章 构建高级包 380

20.1扩展R包 380

20.2开发测试框架 381

20.2.1 testthat介绍 381

20.2.2将测试合并进包中 383

20.3在包中包含数据 384

20.4包含用户指南 386

20.4.1在包中包含使用指南 386

20.4.2撰写使用指南 387

20.5用Rcpp编码 389

20.6本章小结 390

20.7本章答疑 390

20.8课后研习 391

20.9补充练习 391

第21章 编写R类 393

21.1什么是类 393

21.1.1 R中的面向对象 394

21.1.2为何要用面向对象 394

21.1.3为何要使用S3 396

21.2创建新的S3类 396

21.3泛型函数和方法 398

21.3.1为算术操作符定义方法 399

21.3.2列表和属性 400

21.3.3创建新的泛型 401

21.4在S3中继承 402

21.5创建S3文档 403

21.6 S3的局限性 403

21.7本章小结 404

21.8本章答疑 404

21.9课后研习 404

21.10补充练习 405

第22章 正式的类系统 406

22.1 S4 406

22.1.1使用S4类 407

22.1.2定义S4类 407

22.1.3方法 410

22.1.4定义新的泛型函数 411

22.1.5多重分派 412

22.1.6继承 413

22.1.7创建S4的文档 414

22.2引用类 415

22.2.1创建新的引用类 415

22.2.2定义方法 417

22.2.3复制引用类的对象 419

22.2.4创建引用类的文档 420

22.3 R6类 421

22.3.1公有成员和私有成员 421

22.3.2 R6示例 421

22.4其他类系统 422

22.5本章小结 422

22.6本章答疑 423

22.7课后研习 423

22.8补充练习 424

第23章 动态报告 425

23.1什么是动态报告 425

23.2 knitr包简介 426

23.3用RMarkdown生成简单的报告 426

23.3.1 RMarkdown文档基础 426

23.3.2创建HTML文件 427

23.3.3包含R的代码和输出 428

23.4用LaTeX生成报告 430

23.4.1 LaTeX文档基础 430

23.4.2在LaTeX文档中包含代码 431

23.5本章小结 433

23.6本章答疑 433

23.7课后研习 433

23.8补充练习 434

第24章用Shiny创建网络应用程序 435

24.1简单的Shiny应用程序 435

24.1.1 Shiny应用程序的结构 435

24.1.2 ui组件 436

24.1.3 server组件 437

24.2响应式函数 439

24.2.1为何需要响应式函数 439

24.2.2创建一个简单的响应式函数 440

24.3交互式文档 441

24.4共享Shiny应用程序 442

24.5本章小结 442

24.6本章答疑 443

24.7课后研习 443

24.8补充练习 444

附录A安装 445