深入探索R编程:Hadley Wickham的高级R指南
5星 · 超过95%的资源 需积分: 9 181 浏览量
更新于2024-07-22
7
收藏 1.36MB PDF 举报
"Advanced R programming-By Hadley Wickham"
这本书《Advanced R programming》由Hadley Wickham撰写,主要面向两类读者:一是有一定R语言基础,希望深入学习更多解决各种问题策略的中级R程序员;二是其他语言背景的程序员,他们正在学习R,并希望理解R的工作原理。阅读本书之前,你应该已经具备在R或其它编程语言中编写一定量代码的经验,对R中的函数有基本了解,可能并不完全掌握所有细节,同时对apply系列函数(如apply()和lapply())有一定的认识,但可能尚未能熟练运用。
书中涵盖了R语言的基础与高级主题,包括数据结构、子集选取、数据类型以及S3和S4对象等内容。以下是详细的知识点:
1. 数据结构:
- **向量(Vectors)**:R中最基本的数据结构,分为原子向量(Atomic Vectors)和列表(Lists)。
- **原子向量**:包含相同类型的数据,如数值、字符、逻辑值等。
- **列表**:可以存储不同类型的数据,是R中非常灵活的数据结构。
- **属性(Attributes)**:向量和其他数据结构可以附加元数据,如维度、名称等。
- **因子(Factors)**:用于处理分类变量,是有序或无序的离散变量表示。
2. **矩阵和数组(Matrices and arrays)**:多维数据结构,通常用于处理具有相同数据类型的大型数据集。
- **创建**:通过`cbind()`和`rbind()`函数组合向量创建矩阵和数组。
- **测试和转换(Testing and coercion)**:检查数据结构的维度、类型,并进行必要的类型转换。
3. **数据框(Dataframes)**:类似电子表格的数据结构,每一列可以是不同类型的原子向量。
- **创建**:通常通过`data.frame()`函数生成。
- **特殊列**:可以包含向量、列表甚至其他数据框。
- **组合和拆分**:通过`rbind()`和`cbind()`组合,`split()`和`cbind2()`拆分。
4. **子集选取(Subsetting)**:
- **数据类型**:针对不同数据结构(如原子向量、列表、矩阵、数组、数据框、S3和S4对象)有不同的子集选取方法。
- **子集操作符**:包括`[`, `[[`, `$`等,用于选取和修改数据结构的部分内容。
- **简化与保留子集选取**:`[`操作符会返回同样类型的数据结构,而`[[`可能会返回单一元素。
- **缺失/越界索引**:处理NA值和超出范围的索引。
- **子集选取与赋值**:结合选取和修改数据的技巧。
- **应用**:涉及查找表(字符子集)、匹配和合并(整数子集)、随机抽样/Bootstrap(整数子集)、排序(整数子集)以及聚合计数的扩展(整数子集)等实际场景。
这本书不仅提供了理论知识,还包含丰富的练习题,帮助读者巩固和应用所学概念。对于想要提升R编程技能的读者来说,是一本宝贵的资源。推荐的阅读清单、获取帮助的方式以及致谢和版记等额外信息,使得这本书更加完整和实用。
2018-05-05 上传
2021-05-19 上传
2019-06-25 上传
2019-08-20 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
xiaofeng092003
- 粉丝: 0
- 资源: 4
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析