具体描述
R是一个开源、跨平台的编程语言,用于统计计算和绘图,特别是其社区开发的数以千计的扩展包为R增加了强大的和前瞻性的功能。数据分析与挖掘已经成为大数据时代重要的技能之一,而 R已经成为数据分析领域炙手可热的标志性语言。
本书作为业内外一致好评的 Dummies系列书籍之一,是供 R语言初学者学习的经典力作。本书通俗易懂地讲解了如何利用 R语言基本知识,包括创建、运行以及调试 R脚本,用户自定义 R函数,用 R绘制基本图形, R的循环语句和逻辑控制语句等,逐步引导读者迈入 R语言高手行列。
本书适用于数据分析人员以及对 R语言感兴趣的读者。
作者简介
作者简介
Andrie de Vries是Revolution Analytics公司的首席R专家和商业服务总监,有超过20年的R使用经验,为客户提供关于R的咨询和培训服务。Joris Meys是一位统计学家、R程序员和R讲师,就职于根特大学生物工程学院。
目录信息
第1章 R语言简介:全景图 3
认识到使用R语言的优势 5
免费、开源代码 5
可以在任何环境下运行 5
R语言支持扩展 5
拥有活跃的社区 5
和其他语言的连接 6
R语言的独特之处 7
向量的多项计算 7
不仅仅是统计分析 8
无需编辑直接运行 8
第2章 探索R 9
使用代码编辑器 10
探索RGui 11
用RStudio优化 13
开始第一个R会话 15
向世界说你好 15
使用向量 15
存储和计算值 16
回馈用户 18
启动一个脚本 18
响应你的工作 20
导航环境 21
操纵环境中的内容 21
保存你的工作 21
检索你的工作 22
第3章 R基础知识 23
充分利用函数的强大功能 23
向量函数 24
函数参数调用 25
创建历史记录 27
保持代码的可读性 27
遵循命名规则 28
组织代码 30
添加注释 32
R基础功能的扩展 32
查找扩展包 32
安装扩展包 33
加载和卸载扩展包 33
第二部分 开始使用R 35
第4章 算术入门 37
数值、无穷值与缺失值 37
基础运算的操作 38
使用数学函数 40
计算整个向量 43
无穷及其以后 43
使用向量组织数据 45
探索向量属性 45
创建向量 48
向量连接 48
重复向量 49
向量值的存取 49
理解R的索引 50
从向量中提取数值 50
修改向量的值 51
使用逻辑向量 52
值的比较 53
将逻辑向量作为索引 54
逻辑表达式的组合 55
逻辑向量小结 56
增强数学运算 56
使用向量的数学运算 57
参数循环 59
第5章 开始读和写 61
对文本数据使用字符向量 61
为字符向量赋值 62
创建包含多个元素的字符向量 62
获取向量的子集 63
为向量中的值命名 64
文本操作 66
字符串理论:组合和分割字符串 66
文本排序 69
查找文本中包含的内容 70
文本替换 72
使用正则表达式 73
使用因子进行分类 76
创建因子 76
转换因子 77
关注水平 79
区分数据类型 80
使用有序因子 81
第6章 使用R处理时间数据 83
处理日期 83
用不同的格式表示日期 85
添加时间 86
日期和时间的格式 88
操作日期与时间 88
加法和减法 89
日期的比较 89
提取 90
第7章 高维数据的处理 93
添加第二个维度 93
探索新维度 94
将向量组合成矩阵 97
使用索引 98
提取矩阵元素的值 98
降低维度 100
修改矩阵中的值 100
为矩阵行列命名 101
修改行和列的名称 102
将名称作为索引 103
矩阵的计算 103
矩阵的基本运算 103
行列求和 105
矩阵运算 105
添加更多维度 107
创建数组 107
使用维度来提取数据 108
在数据框组合不同类型的值 109
由矩阵创建数据框 109
从零开始创建数据框 111
命名变量和规则 112
操纵数据框中的值 113
提取变量、观察值和元素值 114
向数据框添加观测值 115
向数据框添加变量 117
将不同类型的对象组合到列表中 118
创建列表 119
提取列表中的元素 120
修改列表中的元素 122
理解列表的str()输出结果 124
透过树木看到森林 125
第三部分 编写R代码 127
第8章 探索函数的乐趣 129
从脚本到函数 129
编写脚本 130
转换脚本 130
使用函数 131
简化代码 133
巧妙地使用参数 134
添加更多的参数 135
点参数的魔力 136
将函数作为参数 137
处理作用域 140
穿越边界 140
方法分配 142
隐藏函数背后的方法 142
实现自己的通用函数 144
第9章 控制逻辑流 146
使用“if”语句做出判断选择 147
用“if...else”语句实现另一种选择 149
判断选择的向量化 150
查看问题 150
基于逻辑向量进行判断 151
多种选择 152
嵌套“if ... else ”语句 153
用switch处理多种选择 154
循环遍历 155
构造一个“for”循环 155
通过“for”循环来进行计算 156
无循环的循环:认识“Apply”家族函数 158
“apply”函数的家族特征 159
认识“apply”家族中的三个成员 159
针对行和列使用apply函数 160
将函数应用于与列表类似的对象上 162
第10章 调试代码 165
知道要查找什么 165
阅读错误信息和警告信息 166
阅读错误信息 166
注意警告信息(或者不) 167
查找漏洞 169
logit计算 169
了解错误的来源 169
查找函数内部 170
自定义消息 174
创建错误 174
创建警告 175
一些常见的错误 175
从错误的数据开始 176
格式错误的数据 176
第11章 取得帮助 180
在R帮助文档中查找信息 180
当我们明确地知道到底查找什么时 180
当我们不知道到底要查找什么时 181
在互联网上查找R帮助文档 182
加入R社区 184
在Stack Overflow和Stack Exchange讨论R 184
使用R邮件列表 184
在Twitter讨论R 185
实现最小可复现示例 185
用随机数创建样本数据 186
精简代码 187
提供必要的信息 187
第四部分 让数据说话 189
第12章 导入和导出数据 191
导入数据到R中 191
在R文本编辑器中录入数据 192
使用剪贴板复制和粘贴 193
从CSV文件中读取数据 195
从Excel中读取数据 198
处理其他数据类型 200
R中导出数据 201
使用文件和文件夹 202
了解工作目录 202
文件操作 204
第13章 操作和处理数据 207
确定最合适的数据结构 207
创建数据子集 208
理解三种子集运算符 209
理解取子集的五种方式 209
提取数据框子集 210
在数据中添加计算域 214
数据框的列运算 214
使用with和within提高代码的可读性 215
对数据进行分组 216
组合与合并数据集 217
创建示例数据 218
使用“merge()”函数 220
使用查询表 221
数据排序 223
对向量进行排序 224
对数据框进行排序 224
使用“apply”函数遍历数据 227
使用“apply()”函数汇总数组 228
使用“lapply()”和“sapply()”来遍历列表或数据框 229
使用“tapply()”创建表格汇总数据 230
了解公式接口 232
规范数据的格式 234
理解数据的长格式和宽格式 234
初识reshape2包 235
将数据转换为长格式 236
将数据重塑宽格式 237
第14章 数据汇总 240
从正确的数据开始 241
使用因子或数值 241
唯一值计数 242
准备数据 242
描述连续变量 243
讨论数据的中心 243
描述变异性 244
计算分位数 244
描述分类 245
计数 246
计算比例 246
查找中心 247
描述分布 248
绘制直方图 248
使用频率和密度 249
描述多元变量 251
完整数据集的汇总 251
绘制子集的分位数 252
记录相关性 254
使用表格 257
创建双向表 257
将表格转换为数据框 258
边际与比例 259
第15章 差异与关联检验 261
仔细研究分布 262
观察海狸 262
正态分布的图形检验 262
使用分位图 263
使用公式法检验正态性 265
比较两个样本 267
差异检验 267
比较成对数据 269
检验频数和比例 270
检验比例 270
表格分析 271
提取检验结果 273
使用模型 273
方差分析 274
计算差异 276
线性关系建模 278
线性模型评估 280
预测新值 282
第五部分 绘制图形 285
第16章 使用基本图型 287
创建不同类型的数据图 287
数据图概览 287
向数据图添加点和线 288
各种类型的数据图 292
控制数据图选项和参数 294
添加标题和坐标轴标签 294
修改数据图选项 295
在单页中绘制多个数据图 298
将数据图保存成图片文件 299
第17章 使用lattice绘制切片图 301
创建lattice数据图 302
加载lattice包 303
制作lattice散点图 303
添加趋势线 304
修改数据图的选项 306
添加标题和标签 306
修改标题和标签的字号 307
使用主题修改数据图选项 308
绘制不同类型的数据图 309
绘制柱状图 309
绘制箱型图 310
绘制分组数据 311
使用高格式数据 311
绘制分组数据 313
添加图例 313
输出和保存lattice数据图 314
将lattice图赋予一个对象 315
在脚本中输出lattice数据图 315
将lattice数据图保存成文件 315
第18章 学习ggplot2制图 317
安装并加载ggplot2 317
认识层 318
使用geom和stat 319
定义数据 319
从数据映射到可视元素 320
获得geom 321
了解stat 324
添加切片、标尺和选项 326
添加切片 326
修改选项 327
获取更多信息 329
第六部分 20条有用建议 331
第19章 10种用R不用Excel的情况 333
添加行和列的总和 333
格式化数据 334
数据排序 336
使用if进行选择 336
计算条件总和 337
列或行转置 337
查找唯一或重复值 338
使用检索表 339
利用数据透视表 339
使用单变量求解 340
第20章 关于程序包的10个技巧 343
探索CRAN 343
寻找有趣的程序包 344
安装程序包 344
加载程序包 345
阅读程序包的手册和文档 345
更新程序包 346
使用R-Forge 347
从github获取程序包 347
从Bioconductor进行安装 348
阅读R手册 348
附录A 安装R和RStudio 349
附录B rfordummies包 355
译后记 357
· · · · · · (收起)
读后感
用户评价
我一直认为,数据分析是一门需要深厚数学功底和复杂编程技巧的学科,而 R 语言更是其中的“高岭之花”。直到我翻阅了《R语言可以很简单》这本书,我才意识到,原来 R 语言也可以如此平易近人。这本书的作者,就像是一位经验丰富的老司机,他并没有直接把我带入“数据分析的迷宫”,而是先带我熟悉了 R 语言的基本“路况”——变量、数据类型、基本运算等等。然后,他才循序渐进地引导我学习如何处理和分析数据。我尤其欣赏书中关于“数据框”和“数据透视表”的讲解,这让我能够轻松地从庞杂的数据中提取出有价值的信息。而且,书中还穿插了许多实际案例,比如分析用户行为、产品销售等,这让我能够将学到的知识 directly 应用到解决实际问题中,而不是仅仅停留在理论层面。这本书真的让我感觉到,数据分析并没有想象中那么高不可攀。
我是一名刚刚毕业的大学生,在求职过程中发现,掌握一门数据分析工具是非常重要的技能。《R语言可以很简单》这本书,是我在众多 R 语言书籍中选择的一本。它之所以能够吸引我,是因为它的名字和它所承诺的学习体验。拿到书之后,我发现它的内容确实如其名,非常易于理解。作者在讲解 R 语言的基础知识时,并没有过于深入地探讨理论,而是侧重于如何将这些知识应用到实际的数据分析任务中。我特别喜欢书中关于“函数”的讲解,作者不是简单地罗列函数的用法,而是会从实际的应用场景出发,解释为什么需要使用这个函数,以及如何灵活地运用它。而且,书中提供了大量的代码示例,并且对每一行代码都进行了详细的解释,这对于我这样的新手来说,是非常宝贵的学习资源。我跟着书中的例子,从零开始,一步步地完成了许多基本的数据分析操作,这让我对 R 语言的学习充满了信心。
当我看到《R语言可以很简单》这本书名的时候,我脑海里闪过无数次学习 R 语言却望而却步的经历。那些复杂的命令、陌生的术语,总是让我感到无从下手。然而,这本书的出现,彻底改变了我的想法。它以一种非常友好的方式,向我展示了 R 语言的魅力。作者在讲解每一个概念时,都会尽量使用简单易懂的语言,并且会结合一些生动的例子,让我能够快速地理解。我特别喜欢书中关于“向量化操作”的讲解,它让我明白了为什么 R 语言在处理大规模数据时效率如此之高,并且学会了如何利用这种特性来简化我的代码。此外,书中对数据可视化的介绍也让我眼前一亮。我之前一直觉得制作精美的图表是一件很困难的事情,但看了书中关于 `ggplot2` 的讲解后,我发现原来只需要几行代码,就可以生成令人惊叹的数据可视化作品。这本书让我真正体会到了“工欲善其事,必先利其器”的道理。
我一直对统计学和数据可视化很感兴趣,但苦于没有合适的工具。当我看到《R语言可以很简单》这本书时,我抱着试试看的心态入手了。让我惊喜的是,这本书并没有把重点放在 R 语言的底层原理或者复杂的算法上,而是非常务实地介绍了如何运用 R 来解决实际问题。书中关于数据清洗和预处理的部分,简直是我的福音!我之前处理数据时,总是被各种缺失值、异常值、格式不统一的问题折磨得够呛,看了书里关于 `dplyr` 和 `tidyr` 的讲解后,我才发现原来数据处理可以这么优雅和高效。作者用非常直观的例子,一步步演示了如何筛选、排序、分组、汇总数据,甚至是如何进行合并和连接。我印象最深刻的是关于数据合并的那一章,我之前一直搞不清楚 `left_join`、`right_join`、`inner_join` 之间的区别,看了书里的图示和详细解释,才恍然大悟。而且,书中对数据可视化的讲解也让我眼前一亮。`ggplot2` 这个包的强大之处,在这本书里得到了淋漓尽致的展现。从最简单的散点图、柱状图,到更复杂的箱线图、密度图,作者都给出了非常清晰的示例,并且强调了如何通过调整参数来美化图形,使其更具信息量和可读性。这本书真的让我感觉,数据分析并没有我想象中那么遥不可及。
坦白说,在读《R语言可以很简单》之前,我对 R 语言的印象就是“专业”、“难学”,只适合那些数学系或者统计系的高材生。然而,这本书彻底颠覆了我的认知。它以一种非常接地气的方式,向我展示了 R 语言的魅力。作者在书中花了大量的篇幅来介绍如何利用 R 进行探索性数据分析(EDA)。我一直以为 EDA 是一个非常高深的概念,需要很强的理论基础才能进行,但这本书让我明白,EDA 其实就是一种思维方式,而 R 语言则是实现这种思维方式的绝佳工具。从数据的读取、查看、摘要,到数据清洗、转换、可视化,作者都提供了非常详细的步骤和代码示例。我特别喜欢书中关于“数据透视表”和“分组聚合”的讲解,这让我能够轻松地从海量数据中提取有价值的信息,发现数据之间的隐藏关系。而且,书中还穿插了一些实际案例,比如分析销售数据、用户行为数据等等,这让我能够将学到的知识 langsung 应用到实践中,大大增强了我的学习动力。我感觉这本书就像是一个“瑞士军刀”,能够帮助我应对数据分析中的各种挑战。
我是一名市场营销人员,经常需要处理大量的用户反馈、销售数据和广告效果数据。以前,我总是依赖Excel来完成这些任务,但随着数据量的不断增大,Excel已经显得力不从心了。朋友向我推荐了《R语言可以很简单》,我抱着试试看的心态购买了。让我惊喜的是,这本书的内容非常贴合我的工作需求。它并没有深入探讨 R 语言的底层原理,而是直接切入 R 语言在数据分析中的应用。书中关于如何导入不同格式的数据(如CSV、Excel文件),以及如何对数据进行初步的探索和清洗的讲解,对我来说是无比实用的。我尤其喜欢书中关于“缺失值处理”和“异常值检测”的章节,这些问题在我的日常工作中非常常见,而书中提供的解决方案既高效又易于理解。此外,书中关于数据可视化的部分也让我受益匪浅。通过书中介绍的 `ggplot2` 包,我可以轻松地制作出各种精美的图表,来直观地展示数据分析的结果,这对于我向领导汇报工作或者向团队传递信息非常有帮助。这本书让我感觉,R 语言并没有那么高不可攀,而是可以成为我工作中的一个得力助手。
一直以来,我对数据背后的故事充满了好奇,但又不知道如何下手。《R语言可以很简单》这本书,就像是一把钥匙,为我打开了通往数据世界的大门。这本书的语言风格非常亲切,没有那种高高在上的学术腔调,而是像一位朋友在娓娓道来。作者在讲解每一个概念时,都会先从一个实际场景出发,然后引出相关的 R 语言知识点。这种“由浅入深、循序渐进”的学习方式,让我这个完全没有编程基础的人,也能很快地跟上节奏。我特别喜欢书中关于“数据框”的讲解,作者用非常生动的比喻,将抽象的数据框具象化,让我能够轻松理解行、列、单元格的概念。而且,书中提供的代码示例都非常简洁明了,并且提供了详细的注释,让我能够清楚地知道每一行代码的作用。我最开始的时候,仅仅是跟着书中的例子敲代码,后来逐渐开始尝试自己修改一些参数,进行一些简单的分析,发现竟然也能得出一些有意思的结果。这种成就感,让我对 R 语言的学习充满了热情。
作为一个对编程一直持观望态度的人,看到《R语言可以很简单》这本书名,真的让我眼前一亮。我之前尝试过学习其他编程语言,但总是因为复杂的语法和抽象的概念而半途而废。这本书的出现,让我对 R 语言的学习重燃希望。它最大的特点就是“化繁为简”,将 R 语言的核心概念和常用操作,用最直观、最易懂的方式呈现出来。我特别欣赏书中关于“数据类型”和“数据结构”的讲解,作者用了很多贴切的生活化比喻,让我一下子就理解了向量、列表、数据框这些概念的本质。而且,书中提供的代码示例都非常实用,并且附带了详细的解释,让我能够清楚地知道每一步操作的目的。我记得我刚开始学习的时候,对于如何读取和处理各种格式的数据感到非常困惑,但看了书中关于文件读取和数据清洗的章节后,我的这个问题迎刃而解。这本书真的让我觉得,学会 R 语言并没有那么难,关键在于找到对的学习方法。
对于一个曾经被编程语言劝退过无数次的人来说,《R语言可以很简单》这本书的出现,无异于雪中送炭。我承认,一开始我看到“R语言”这几个字,脑海里就自动浮现出各种命令行、各种错误提示的画面,让我心生畏惧。然而,这本书的作者却用一种我从未想过的方式,让我重新认识了 R 语言。它不是那种枯燥乏味的教科书,更像是一位经验丰富的朋友,耐心地引导你一步步走进 R 的世界。我尤其喜欢书中讲解“函数”的部分,它不是简单地告诉你“A函数是干什么的”,而是会告诉你“为什么会设计出A函数”,以及“在什么场景下你会用到A函数”。这种“知其然,更知其所以然”的讲解方式,极大地提升了我学习的效率和兴趣。书中反复强调的“数据结构”概念,也用了很多贴切的比喻,让我这个对数据结构一窍不通的人,也能迅速理解向量、列表、数据框的区别和联系。我最开始尝试着跟着书中的例子敲代码,从最简单的“Hello, World!”到后来进行一些基本的数据运算,我发现代码运行的结果都和我预期的一样,而且错误率非常低。这种正反馈让我信心倍增,也让我相信,我真的可以学会 R 语言。
作为一个刚接触数据分析不久的新手,我一直在寻找一本能够真正帮助我理解 R 语言的书籍。《R语言可以很简单》这个书名一下子就吸引了我,因为它直接击中了我的痛点——我总觉得 R 语言的学习曲线很陡峭,充满了各种陌生的概念和命令。拿到书之后,我迫不及待地翻阅起来。首先,它的排版设计就给人一种非常友好的感觉,清晰的章节划分,适度的留白,让我在阅读过程中不会感到压抑。我特别喜欢作者在讲解每个概念时,都会穿插一些生活中的类比,比如将向量比作一串珠子,将数据框比作一个表格,这些生动的比喻让我瞬间茅塞顿开,一下子就明白了抽象的概念。而且,书中没有一开始就丢给我一大堆复杂的函数和语法,而是循序渐进,从最基础的变量、数据类型开始讲起,每一个小知识点都配有简短的示例代码,并且详细解释了代码的运行逻辑。我尤其欣赏作者在讲解函数时,不仅仅是罗列函数的功能,更重要的是强调了“为什么”要使用这个函数,以及它在实际问题中扮演的角色。这让我觉得我不是在死记硬背,而是在理解 R 语言的设计哲学。
非常好的零基础入门教材。 非常基础和实用。 学习要循序渐进。 R for dummies!
非常好的零基础入门教材。 非常基础和实用。 学习要循序渐进。 R for dummies!
非常好的零基础入门教材。 非常基础和实用。 学习要循序渐进。 R for dummies!
非常好的零基础入门教材。 非常基础和实用。 学习要循序渐进。 R for dummies!
一本很不错的R语言入门书籍,书中介绍的很详细,后面关于数据那方面也很详细。值得一看。这本书还有要给好处就是:它专门开发了一个配套的PACKAGES,你可以install that package and do example with it. Very useful