R 中的矩阵函数:创建、打印、添加列和切片

R 中的矩阵函数

R 中的矩阵函数是一个二维数组,有 m 行和 n 列。换句话说,R 编程中的矩阵是两个或多个具有相同数据类型的向量的组合。

请注意: 可以使用 R 中的矩阵函数创建二维以上的数组。

R 中的矩阵函数

如何在 R 中创建矩阵

我们可以使用函数 matrix() 创建一个矩阵。以下是在 R 中创建矩阵的函数,它接受三个参数:

matrix(data, nrow, ncol, byrow = FALSE)

参数:

  • data:R 将排列到矩阵的行和列中的元素集合 \
  • :行数
  • 恩科尔: 列数
  • 拜罗:行从左到右填充。如果我们希望矩阵按列填充,即从上到下填充值,则使用 `byrow = FALSE`(默认值)。

让我们构建两个 5×2 矩阵,其数字序列从 1 到 10,一个矩阵的 byrow = TRUE,另一个矩阵的 byrow = FALSE,以查看差异。

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  TRUE 
matrix_a <-matrix(1:10, byrow = TRUE, nrow = 5)
matrix_a

输出:

在 R 中创建矩阵

使用 dim() 打印矩阵的维度

现在,让我们使用 dim() 打印 R 中矩阵的维度。使用 dim() 在 R 中打印矩阵的语法是:

# Print dimension of the matrix with dim()
dim(matrix_a)

输出:

## [1] 5 2

构造一个包含 5 至 1 的数字的 10 行矩阵,并且 byrow = FALSE

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  FALSE
matrix_b <-matrix(1:10, byrow = FALSE, nrow = 5)
matrix_b

输出:

包含 5 行且 byrow = FALSE 的矩阵

使用 dim() 打印矩阵的维度

再次使用 dim() 打印矩阵的维度。以下是 R 打印矩阵维度的语法:

# Print dimension of the matrix with dim()
dim(matrix_b)

输出:

## [1] 5 2

备注:使用命令matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2)将产生与上述相同的效果。

您还可以使用 ncol 创建 4×3 矩阵。R 将创建 3 列并从上到下填充行。查看示例

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
matrix_c

输出:

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

示例:

dim(matrix_c)

输出:

## [1] 4 3

使用 cbind() 向矩阵添加列

您可以使用 cbind() 命令将列添加到矩阵 R。cbind() 表示列绑定。cbind() 可以连接任意数量的矩阵或列。例如,我们之前的示例创建了一个 5×2 矩阵。我们连接第三列并验证维度是否为 5×3

示例:

# concatenate c(1:5) to the matrix_a
matrix_a1 <- cbind(matrix_a, c(1:5))
# Check the dimension
dim(matrix_a1)

输出:

## [1] 5 3

示例:

matrix_a1

输出

##       [,1] [,2] [,3]
## [1,]    1    2    1
## [2,]    3    4    2
## [3,]    5    6    3
## [4,]    7    8    4
## [5,]    9   10    5

示例:

我们还可以多次向矩阵 R 添加列。让我们看看 matrix_a2 矩阵的下一个数字序列。R 中新矩阵的维度将为 4×6,数字从 1 到 24。

matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)

输出:

##      [,1] [,2] [,3]
## [1,]   13   17   21
## [2,]   14   18   22
## [3,]   15   19   23
## [4,]   16   20   24

示例:

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)		
matrix_d <- cbind(matrix_a2, matrix_c)
dim(matrix_d)

输出:

## [1] 4 6

注意:R 中矩阵的行数对于 cbind 工作来说应该相等

cbind() 连接列,rbind() 添加行。让我们向 matrix_c 矩阵添加一行,并验证维度是否为 5×3

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
# Create a vector of 3 columns
add_row <- c(1:3)
# Append to the matrix
matrix_c <- rbind(matrix_c, add_row)
# Check the dimension
dim(matrix_c)

输出:

## [1] 5 3

矩阵切片

我们可以从矩阵中选择一个或多个元素 R编程 通过使用方括号 [ ]。这就是切片发挥作用的地方。

例如:

  • matrix_c[1,2] 选择第一行第二列的元素。
  • matrix_c[1:3,2:3] 生成一个 R 切片矩阵,其数据位于行 1、2、3 和列 2、3,
  • matrix_c[,1] 选择第一列的所有元素。
  • matrix_c[1,] 选择第一行的所有元素。

以下是上述代码的输出

矩阵切片