R学习笔记系列—R语言数据结构之数组和因子

1.4.3 数组

向量和矩阵更一般的形式是数组,向量是1维数组,矩阵是2维数组,数组则可以是任何维度。可以说,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的。数组通过 array() 函数创建。调用格式为:

R学习笔记系列—R语言数据结构之数组和因子

array 参数调用

参数含义如下:

  • data: 向量,定义数组所包含的数据

  • dim: 向量,用于定义数组的维度

  • dimnames: 列表,用于定义各维度的名称

R学习笔记系列—R语言数据结构之数组和因子

R 数组实例

或者,更简单地,我们可以通过直接修改向量维度的方式,来将其变成数组。

R学习笔记系列—R语言数据结构之数组和因子

直接修改维度生成数组

1.4.4 因子

在前面的章节中,我们知道根据测量水平的不同,可以将数据分为定类数据、定序数据、定距数据和定比数据。在 R 中,定类数据和定序数据中用因子来表示,其中定类数据因为不区分顺序称之为无序因子;定序数据则称之为有序因子。

比如,我们统计某班学生的性别,则会形成“男、女、女、男、男、男......”这样的序列,其中的“男、女”就是定类数据,即无序因子,含有两“男”、“女”两个水平;若统计省份,则会形成类似“北京、广东、甘肃、湖南......"这样的定类数据序列,有多少个省份就有多少个水平;若统计考试成绩,并区分为“优秀”、“良好”、“一般”、“较差”四个等级,则会形成定序数据序列,可以用有序因子来表示。

在 R 内部,因子被存储为整数向量,整数的范围是 [1,.....,k],其中 k 是序列中不重复值的个数,即水平数。比如性别无序因子的取值范围是[1,2],其中1代表男、2代表女。因子可以用函数 factor() 生成,其调用格式是:

R学习笔记系列—R语言数据结构之数组和因子

因子调用参数

参数的含义如下:

  • x: 用于生成因子的向量

  • levels: 可选,指定向量的水平,默认会将 x 转换为字符型,然后去重后排序形成的向量,即 sort(unique(as.character(x)))。

  • labels: 可选,给各水平指定一个标签,默认等于 levels 值

  • exclude: 向量,指定需要忽略的水平,默认忽略缺失值

  • ordered: 逻辑值,指定是否是有序变量

  • nmax: 数值,指定最大水平数

首先我们生成一个无序因子:

R学习笔记系列—R语言数据结构之数组和因子

无序因子实例

将 ordered 参数设为 TRUE 可以生成有序因子:

R学习笔记系列—R语言数据结构之数组和因子

有序因子实例

因子的判断和转换函数分别为 is.factor(),as.factor(),另外还可以用 is.ordered() 来判断对象是否有序,用 as.ordered() 转换为有序因子。

R学习笔记系列—R语言数据结构之数组和因子

因子转换实例


喜欢闲适安静的生活,懂一点计算机编程,懂一点统计学和数据分析。(爱编程爱统计)

相关推荐