R 矩阵

2025年3月17日 | 阅读 8 分钟

在 R 语言中,二维矩形数据集被称为矩阵。矩阵是借助提供给 matrix 函数的向量输入创建的。我们可以在 R 矩阵上执行加、减、乘和除运算。

在 R 矩阵中,元素以固定数量的行和列排列。矩阵元素是实数。在 R 语言中,我们使用矩阵函数,它可以轻松地再现矩阵的内存表示。在 R 矩阵中,所有元素都必须共享一个共同的基本类型。

示例

输出

[,1]  [,2]  [,3]
[1,]   11   13   15
[2,]   12   14   16

R Matrix

R 语言中矩阵的历史

单词“矩阵”是拉丁语,意思是子宫,意为形成或产生事物的场所。两位具有历史重要性的作者以不寻常的方式使用过“矩阵”一词。他们提出了这个公理,作为将任何函数简化为较低类型函数的一种方法,这样在“底部”(0 阶)时,该函数与其扩展是相同的。

除了矩阵之外的任何可能函数都适用于矩阵,这要归功于泛化过程。只有当命题(断言所讨论的函数)为真时,它才为真。只有在其他参数未确定时,它才对所有或其中一个参数值有效。

如何在 R 语言中创建矩阵?

与向量和列表一样,R 提供了创建矩阵的函数。R 提供了 matrix() 函数来创建矩阵。此函数在数据分析中起着重要作用。以下是 R 中矩阵的语法

数据

matrix 函数中的第一个参数是 data。它是输入向量,即矩阵的数据元素。

nrow

第二个参数是我们要创建的矩阵的行数。

ncol

第三个参数是我们要创建的矩阵的列数。

byrow

byrow 参数是一个逻辑提示。如果其值为真,则输入向量元素按行排列。

dim_name

dim_name 参数是分配给行和列的名称。

让我们看一个例子,了解如何使用矩阵函数创建矩阵并按行或列顺序排列元素。

示例

输出

      [,1] [,2] [,3]
[1,]    5    6    7
[2,]    8    9   10
[3,]   11   12   13
[4,]   14   15   16

      [,1] [,2] [,3]
[1,]    3    7   11
[2,]    4    8   12
[3,]    5    9   13
[4,]    6   10   14

      col1 col2 col3
row1    3    4    5
row2    6    7    8
row3    9   10   11
row4   12   13   14

访问 R 语言中的矩阵元素

像 C 和 C++ 一样,我们可以通过使用元素的索引轻松访问矩阵的元素。有三种方法可以从矩阵访问元素。

  1. 我们可以访问位于第 n 行和第 m 列的元素。
  2. 我们可以访问矩阵中位于第 n 行的所有元素。
  3. 我们还可以访问矩阵中位于第 m 列的所有元素。

让我们看一个例子,了解如何从位于第 n 行第 m 列、第 n 行或第 m 列的矩阵中访问元素。

示例

输出

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12   13
row4   14   15   16

[1] 12

col1 col2 col3
  11   12   13

row1 row2 row3 row4
   6    9   12   15

修改矩阵

R 允许我们在矩阵中进行修改。有几种方法可以在矩阵中进行修改,如下所示

R Matrix

分配单个元素

在矩阵修改中,第一种方法是将单个元素分配到矩阵的特定位置。通过为该位置分配一个新值,旧值将被新值替换。这种修改技术非常容易执行矩阵修改。它的基本语法如下

这里,n 和 m 分别是元素的行和列。而 y 是我们分配给修改矩阵的值。

让我们看一个例子,了解如何进行修改

示例

输出

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12   13
row4   14   15   16

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   20   13
row4   14   15   16

关系运算符的使用

R 提供了另一种执行矩阵修改的方法。在这种方法中,我们使用一些关系运算符,例如 >、<、==。像第一种方法一样,第二种方法使用起来非常简单。让我们看一个例子,了解这种方法如何修改矩阵。

示例 1

输出

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12   13
row4   14   15   16

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11    0   13
row4   14   15   16

示例 2

输出

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12   13
row4   14   15   16

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12    0
row4    0    0    0

行和列的添加

矩阵修改的第三种方法是通过使用 cbind() 和 rbind() 函数添加行和列。cbind() 和 rbind() 函数分别用于添加一列和一行。让我们看一个例子,了解 cbind() 和 rbind() 函数的工作原理。

示例 1

输出

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12   13
row4   14   15   16

      col1 col2 col3
row1    5    6    7
row2    8    9   10
row3   11   12   13
row4   14   15   16
             17   18   19

      col1 col2 col3
row1    5    6    7 17
row2    8    9   10 18
row3   11   12   13 19
row4   14   15   16 20

      row1 row2 row3 row4
col1    5    8   11   14
col2    6    9   12   15
col3    7   10   13   16

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,]    5    8   11   14    6    9   12   15    7    10    13    16

矩阵运算

在 R 中,我们可以在矩阵上执行数学运算,例如加、减、乘等。为了在矩阵上执行数学运算,要求两个矩阵具有相同的维度。

R Matrix

让我们看一个例子,了解如何在矩阵上执行数学运算。

示例 1

输出

      [,1] [,2] [,3]
[1,]    6   14   22
[2,]    8   16   24
[3,]   10   18   26
[4,]   12   20   28

      [,1] [,2] [,3]
[1,]    4    4    4
[2,]    4    4    4
[3,]    4    4    4
[4,]    4    4    4

      [,1] [,2] [,3]
[1,]    5   45  117
[2,]   12   60  140
[3,]   21   77  165
[4,]   32   96  192

      [,1] [,2] [,3]
[1,]   60  108  156
[2,]   72  120  168
[3,]   84  132  180
[4,]   96  144  192

      [,1]     [,2]      [,3]
[1,] 5.000000 1.800000 1.444444
[2,] 3.000000 1.666667 1.400000
[3,] 2.333333 1.571429 1.363636
[4,] 2.000000 1.500000 1.333333

矩阵的应用

  1. 在地质学中,矩阵用于调查和绘制图表、统计数据,并用于不同领域的研究。
  2. 矩阵是帮助绘制常见调查事物的表示方法。
  3. 在机器人技术和自动化中,矩阵是机器人运动最重要的元素。
  4. 矩阵主要用于计算经济学中的国内生产总值,它也有助于计算商品和产品的能力。
  5. 在基于计算机的应用程序中,矩阵在创建逼真的运动方面起着至关重要的作用。

(a). 在给定的代码中,代码的矩形行是错误的。(在“如何在 R 中创建矩阵?”部分)

这是更正的代码行;将其替换为上面的代码行

(b). 在给定的图像中,代码行是错误的:(在“访问 R 语言中的矩阵元素”部分)。

用以下更正后的代码替换上面的代码行

(c). 在给定的图像中,代码行是错误的:(在“分配单个元素”部分)。

用以下更正后的代码替换上面的代码行

(d). 在给定的图像中,代码行是错误的:(在“关系运算符的使用”部分)。

用以下更正后的代码替换上面的代码行

(e). 在给定的图像中,代码行是错误的:(在“关系运算符的使用”部分)。

用以下更正后的代码替换上面的代码行

(f). 在给定的图像中,代码行是错误的:(在“行和列的添加”部分)。

用以下更正后的代码替换上面的代码行


下一个主题R 数据框