R 矩阵

矩阵

矩阵是包含列和行的二维数据集。

列是数据的垂直表示,而行是数据的水平表示。

可以使用 matrix() 函数创建矩阵。指定 nrowncol 参数以获取行和列的数量:

实例
  1. # Create a matrix
  2. thismatrix <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2)
  3. # Print the matrix
  4. thismatrix
注意:记住 c() 函数用于将项连接在一起。

还可以创建带有字符串的矩阵:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. thismatrix

访问矩阵成员

您可以使用 [ ] 括号访问这些项目。

括号中的第一个数字 "1" 指定行位置,而第二个数字 "2" 指定列位置:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. thismatrix[1, 2]

如果在括号中的数字 后面 指定逗号,则可以访问整行:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. thismatrix[2,]

如果在括号中的数字 前面 指定逗号,则可以访问整列:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. thismatrix[,2]

访问多行

如果使用 c() 函数,可以访问多行:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
  2. thismatrix[c(1,2),]

访问多列

如果使用 c() 函数,可以访问多个列:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
  2. thismatrix[, c(1,2)]

添加行和列

使用 cbind() 函数在矩阵中添加其他列:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
  2. newmatrix <- cbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
  3. # Print the new matrix
  4. newmatrix
注意:新列中的单元格必须与现有矩阵的长度相同。

使用 rbind() 函数在矩阵中添加其他行:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
  2. newmatrix <- rbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
  3. # Print the new matrix
  4. newmatrix
注意:新行中的单元格必须与现有矩阵的长度相同。

移除行和列

使用 c() 函数删除矩阵中的行和列:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange", "mango", "pineapple"), nrow = 3, ncol = 2)
  2. #Remove the first row and the first column
  3. thismatrix <- thismatrix[-c(1), -c(1)]
  4. print(thismatrix)

检查项目是否存在

若要确定矩阵中是否存在指定项,请使用 %in% 运算符:

实例

检查 "apple" 是否存在于矩阵之中:

  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. "apple" %in% thismatrix

行数和列数

使用 dim() 函数查找矩阵中的行数和列数:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. dim(thismatrix)

矩阵长度

使用 length() 函数查找矩阵的维数:

实例
  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. length(thismatrix)

矩阵中的总单元格数是行数乘以列数。

在上面的例子中: 维度 = 2*2 = 4.


循环遍历矩阵

您可以使用 for 循环遍历矩阵。循环将从第一行开始,向右移动:

实例

循环浏览矩阵项并打印它们:

  1. thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
  2. for (rows in 1:nrow(thismatrix)) {
  3. for (columns in 1:ncol(thismatrix)) {
  4. print(thismatrix[rows, columns])
  5. }
  6. }

合并两个矩阵

同样,可以使用 rbind()cbind() 函数将两个或多个矩阵组合在一起:

实例
  1. # Combine matrices
  2. Matrix1 <- matrix(c("apple", "banana", "cherry", "grape"), nrow = 2, ncol = 2)
  3. Matrix2 <- matrix(c("orange", "mango", "pineapple", "watermelon"), nrow = 2, ncol = 2)
  4. # Adding it as a rows
  5. Matrix_Combined <- rbind(Matrix1, Matrix2)
  6. Matrix_Combined
  7. # Adding it as a columns
  8. Matrix_Combined <- cbind(Matrix1, Matrix2)
  9. Matrix_Combined