好玩的R语言-基础篇系列04-矩阵和数组

我想请教下,好玩的R语言-基础篇系列04-矩阵和数组
最新回答
苍老了谁的最初

2024-10-14 16:30:30

在R语言中,我们已经熟悉了一维数据结构向量vector。接下来,我们将探索基于向量的二维结构矩阵matrix和多维结构array。它们之间的关系就像一张Excel工作表,存储和检索数据以行和列的形式进行。


1. 矩阵matrix


矩阵是R的二维数据结构,通过matrix()函数创建,语法如下:


matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

可以通过以下函数获取矩阵的维度信息,如果不存在则返回NULL:


矩阵的命名可以通过head()、tail()、dimnames()等函数进行修改。需要注意的是,R有时会自动将复杂数据结构简化为简单结构,这可能会带来困扰,特别是处理矩阵时,可能会导致降维为向量。为了避免这种情况,可以使用drop=FALSE参数。


1.2 矩阵操作


矩阵操作类似向量,但支持行和列操作。例如,通过apply()函数进行条件筛选,如计算总成绩、平均成绩,以及寻找成绩70分以上的学生。


2. 数组array


数组是更高级的数据结构,可以生成一维向量、二维矩阵,甚至多维数组。在数据分析中,通常使用二维和三维数组。创建数组的语法如下:


array(data = NA, dim = length(data), dimnames = NULL)

此外,还可以通过attr()函数为向量添加维度属性,以创建矩阵或数组,并设置其行名和列名。