

数据结构是为了便于存储不同类型的数据而设计的数据容器。学习数据结构,就是要把各个数据容器的特点、适合存取什么样的数据理解透彻,只有这样才能在实际中选择最佳的数据容器,数据容器选择的合适与否,直接关系到代码是否高效简洁,甚至能否解决问题。
R 中常用的数据结构可划分为:
- 同质数据类型(homogeneous),即所存储的一定是相同类型的元素,包括向量、矩阵、多维数组;
- 异质数据类型(heterogeneous),即可以存储不同类型的元素,这大大提高了存储的灵活性,但同时也降低了存储效率和运行效率,包括列表、数据框。
另外,还有字符串、日期时间数据、时间序列数据、空间地理数据等。
R 中的数据结构还有一种从广义向量[脚注1]的角度的划分:
脚注1: 由一系列可以根据位置索引的元素构成,元素可以很复杂和不同类型。
- 原子向量:各个值都是同类型的,包括 6 种类型:`logical`、`integer`、
`double`、`character`、`complex`、`raw`,其中 `integer` 和 `double` 也统称为
`numeric`;
- 列表:各个值可以是不同类型的,NULL 表示空向量(长度为 0 的向量)
向量都有两个属性:`type`(类型)、`length`(长度);还能以属性的方式向向量中任意添加额外的 `metadata`(元数据),属性可用来创建扩展向量,以执行一些新的操作。常用的扩展向量有:
- 基于整数型向量构建的因子
- 基于数值型向量构建的日期和日期时间
- 基于数值型向量构建的时间序列
- 基于列表构建的数据框和 tibble
列表是广义向量,从这个角度有助于理解 `purrr::map_*()` 系列的泛函式编程。
1.2.1 向量(一维数据)
向量是由一组相同类型的原始值构成的序列,可以是一组数值、一组逻辑值、一组字符串等。
常用的向量有:数值向量、逻辑向量、字符向量。













1.2.2 矩阵(二维数据)
矩阵是一个用两个维度表示和访问的向量。因此,适用于向量的性质和方法大多
也适用于矩阵:矩阵也要求元素是同一类型,数值矩阵、逻辑矩阵等。





1.2.3 多维数组(多维数据)
向量 / 矩阵向更高维度的自然推广。具体来说,多维数组就是一个维度更高(通常
大于 2 )、可访问的向量。数组也要求元素是同一类型。



参考文献:
任坤,R语言编程指南,2017.
Hadley Wickham,R for Data Science,2017.
——————————
版权声明:原创作品,版权所有,禁止用于一切出版。
最后
以上就是机智鸭子最近收集整理的关于r语言列表添加元素_【R语言新书】1.2 数据结构Ⅰ:向量、矩阵、多维数组的全部内容,更多相关r语言列表添加元素_【R语言新书】1.2内容请搜索靠谱客的其他文章。
发表评论 取消回复