R语言学习——矩阵

时间:2024-02-25 08:38:26

> #矩阵是一个二维数组,每个元素都拥有相同的模式(数值型、字符型或者逻辑型)。通过matrix()创建,一般使用格式为:mymatrix<-matrix(vector,nrow=number_of_rows,ncol=number_of_columes,byrow+logical_value,dimnames=list(char_vector_rownames,char_vector_colnames))
> #其中vector包含矩阵的元素,nrow和ncol用于指定行列的维数,dimnames包含可选的,一字符型向量表示对额行列名。byrow表示矩阵应按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认按列。实例如下:
> y<-matrix(1:20,nrow = 5,ncol = 4)#创建一个5*4的矩阵
> y
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> cells<-c(1,26,24,68)
> rnames<-c("R1","R2")
> cnames<-c("C1","C2")
> mymatrix<-matrix(cells,nrow=2,ncol=2,byrow = T,dimnames = list(rnames,cnames))#按行填充2*2矩阵
> mymatrix
C1 C2
R1 1 26
R2 24 68
> mymatrix<-matrix(cells,nrow=2,ncol=2,byrow = F,dimnames = list(rnames,cnames))#按列填充2*2矩阵
> mymatrix
C1 C2
R1 1 24
R2 26 68
> #可以使用下标和方括号来选择矩阵中的行、列或元素。X[i,]表示矩阵中第i行,X[,j]表示矩阵中第j列。X[i,j]表示矩阵中第i行第j列个元素。选择多行多列是,下标i和j可为数值型向量。实例如下:
> x<-matrix(1:10,nrow = 2)#创建一个2*5的矩阵
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> x[2,]#第2行
[1] 2 4 6 8 10
> x[,3]
[1] 5 6
> x[,3]#第3列
[1] 5 6
> x[1,4]#第1行第4列个元素
[1] 7
> x[2,c(3,5)]#第2行第3第5列个元素
[1] 6 10
> x[2,(3:5)]#第2行第3至5列个元素
[1] 6 8 10