📜  R – 矩阵(1)

📅  最后修改于: 2023-12-03 15:04:45.340000             🧑  作者: Mango

R – 矩阵

在 R 语言中,矩阵是一种重要的数据类型,它是一个二维的数据结构,包含了多个元素,每个元素都是相同的数据类型。矩阵中的每个元素可以通过它们的行索引和列索引进行访问。

创建矩阵

要创建矩阵,可以使用 matrix() 函数。matrix() 函数可以接受以下参数:

  • data:一个向量类型的数据,可以是任何 R 中支持的数据类型。
  • nrow:矩阵中的行数。
  • ncol:矩阵中的列数。
  • byrow:一个逻辑值,指定矩阵如何填充元素。如果为 TRUE,则每行都填充完整,然后继续下一行;如果为 FALSE,则每列都填充完整,然后继续下一列。
  • dimnames:一个长度为 2 的列表,指定矩阵中的行和列的名称。

以下示例使用 matrix() 函数创建一个矩阵:

# 创建矩阵
matrix(1:9, nrow = 3, ncol = 3, byrow = TRUE)

输出:

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9
操作矩阵
访问元素

可以通过矩阵的行索引和列索引来访问矩阵中的元素。例如,要访问第二行第三列的元素,可以使用以下代码:

m <- matrix(1:9, nrow = 3, ncol = 3, byrow = TRUE)
m[2, 3]

输出:

[1] 6
修改元素

与访问矩阵中的元素类似,也可以使用行和列索引来修改矩阵中的元素。例如,要将第一行第二列的元素改为 0,可以使用以下代码:

m[1, 2] <- 0
m

输出:

     [,1] [,2] [,3]
[1,]    1    0    3
[2,]    4    5    6
[3,]    7    8    9
矩阵运算

R 中的矩阵支持各种基本的数学运算,如加、减、乘等。不过需要注意的是,对两个矩阵做加、减、乘操作时,它们的行数和列数必须相同。

以下示例演示了如何对两个矩阵进行加、减、乘操作:

# 创建两个矩阵
m1 <- matrix(1:4, nrow = 2, ncol = 2)
m2 <- matrix(5:8, nrow = 2, ncol = 2)

# 相加
m1 + m2

# 相减
m1 - m2

# 相乘
m1 %*% m2

输出:

# 相加
     [,1] [,2]
[1,]    6    8
[2,]   10   12

# 相减
     [,1] [,2]
[1,]   -4   -4
[2,]   -4   -4

# 相乘
     [,1] [,2]
[1,]   19   22
[2,]   43   50
总结

矩阵是一种强大的工具,在 R 中可以方便地创建、操作和计算矩阵。矩阵不仅可以用于数学和统计学领域,还可以用于各种数据分析和机器学习任务中。