R 矩阵
矩阵
矩阵是包含列和行的二维数据集。
列是数据的垂直表示,而行是数据的水平表示。
可以使用 matrix()
函数创建矩阵。指定 nrow
和 ncol
参数以获取行和列的数量:
实例
# Create a matrix
thismatrix <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2)
# Print the matrix
thismatrix
注意:记住
c()
函数用于将项连接在一起。还可以创建带有字符串的矩阵:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
thismatrix
访问矩阵成员
您可以使用 [ ]
括号访问这些项目。
括号中的第一个数字 "1" 指定行位置,而第二个数字 "2" 指定列位置:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
thismatrix[1, 2]
如果在括号中的数字 后面 指定逗号,则可以访问整行:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
thismatrix[2,]
如果在括号中的数字 前面 指定逗号,则可以访问整列:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
thismatrix[,2]
访问多行
如果使用 c()
函数,可以访问多行:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix[c(1,2),]
访问多列
如果使用 c()
函数,可以访问多个列:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix[, c(1,2)]
添加行和列
使用 cbind()
函数在矩阵中添加其他列:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
newmatrix <- cbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
# Print the new matrix
newmatrix
注意:新列中的单元格必须与现有矩阵的长度相同。
使用 rbind()
函数在矩阵中添加其他行:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
newmatrix <- rbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
# Print the new matrix
newmatrix
注意:新行中的单元格必须与现有矩阵的长度相同。
移除行和列
使用 c()
函数删除矩阵中的行和列:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange", "mango", "pineapple"), nrow = 3, ncol = 2)
#Remove the first row and the first column
thismatrix <- thismatrix[-c(1), -c(1)]
print(thismatrix)
检查项目是否存在
若要确定矩阵中是否存在指定项,请使用 %in%
运算符:
实例
检查 "apple" 是否存在于矩阵之中:
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
"apple" %in% thismatrix
行数和列数
使用 dim()
函数查找矩阵中的行数和列数:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
dim(thismatrix)
矩阵长度
使用 length()
函数查找矩阵的维数:
实例
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
length(thismatrix)
矩阵中的总单元格数是行数乘以列数。
在上面的例子中: 维度 = 2*2 = 4.
循环遍历矩阵
您可以使用 for
循环遍历矩阵。循环将从第一行开始,向右移动:
实例
循环浏览矩阵项并打印它们:
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)
for (rows in 1:nrow(thismatrix)) {
for (columns in 1:ncol(thismatrix)) {
print(thismatrix[rows, columns])
}
}
合并两个矩阵
同样,可以使用 rbind()
或 cbind()
函数将两个或多个矩阵组合在一起:
实例
# Combine matrices
Matrix1 <- matrix(c("apple", "banana", "cherry", "grape"), nrow = 2, ncol = 2)
Matrix2 <- matrix(c("orange", "mango", "pineapple", "watermelon"), nrow = 2, ncol = 2)
# Adding it as a rows
Matrix_Combined <- rbind(Matrix1, Matrix2)
Matrix_Combined
# Adding it as a columns
Matrix_Combined <- cbind(Matrix1, Matrix2)
Matrix_Combined