R 中的矩阵函数:创建、打印、添加列和切片
R 中的矩阵函数
R 中的矩阵函数是一个二维数组,有 m 行和 n 列。换句话说,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
输出:
使用 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
输出:
使用 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,] 选择第一行的所有元素。
以下是上述代码的输出