在R语言中,矩阵(Matrix)是一种二维的数据结构,它由相同类型的元素组成,并具有固定的行数和列数。矩阵可以用于存储和处理二维数据,例如数值数据、统计数据、图像数据等
1. 创建矩阵
单个向量创建矩阵 vec <- c(1, 2, 3, 4, 5, 6) mat <- matrix(vec, nrow = 2, ncol = 3) mat # 输出结果: # [,1] [,2] [,3] # [1,] 1 3 5 # [2,] 2 4 6
多个向量创建矩阵 vec1 <- c(1, 2, 3) vec2 <- c(4, 5, 6) mat <- matrix(c(vec1, vec2), nrow = 2, ncol = 3) mat # 输出结果: # [,1] [,2] [,3] # [1,] 1 3 5 # [2,] 2 4 6
2. 访问矩阵元素
> mat Col1 Col2 Col3 Row1 "1" "Hello" "5.5" Row2 "2+3i" "TRUE" "1" > mat[1,2] [1] "Hello" > mat[1,] Col1 Col2 Col3 "1" "Hello" "5.5"
3. 设置行列名称
rownames(mat) <- c("A", "B", "C") colnames(mat) <- c("X", "Y", "Z") mat # 输出结果: # X Y Z # A 1 4 7 # B 2 5 8 # C 3 6 9
4. 切片操作
mat[1:2, 2:3] # 输出结果: # Y Z # A 4 7 # B 5 8
5. 矩阵运算
mat1 <- matrix(1:6, nrow = 2) mat2 <- matrix(7:12, nrow = 2) mat_sum <- mat1 + mat2 mat_sum # 输出结果: # [,1] [,2] # [1,] 8 12 # [2,] 10 14 mat_prod <- mat1 %*% mat2 mat_prod # 输出结果: # [,1] [,2] [,3] # [1,] 58 64 70 # [2,] 79 89 99 mat_trans <- t(mat1) mat_trans # 输出结果: # [,1] [,2] # [1,] 1 4 # [2,] 2 5 # [3,] 3 6