3人赞同了该回答
原标题:R语言基础教程之矩阵
矩阵是其中元素以二维矩形布局排列的R对象。它们包含相同原子类型的元素。 虽然我们可以创建一个仅包含字符或仅包含逻辑值的矩阵,但它们没有太多用处。 我们使用包含数学元素的矩阵来在数学计算中使用。
矩阵可通过使用matrix()函数来创建。
语法
在R中创建矩阵的基本语法是 -
matrix (data ,nrow ,ncol ,byrow ,dimnames )
R
data- 是将要转为矩阵元素的输入向量。
nrow- 是要创建的行数。
ncol- 是要创建的列数。
byrow- 是一个逻辑线索。 如果为TRUE,则输入向量元素按行排列。
dimname- 是分配给行和列的名称。
> x<-matrix(3:11,nrow = 3,byrow=T) > x [,1] [,2] [,3][1,] 3 4 5[2,] 6 7 8[3,] 9 10 11 > y<-matrix(3:11,ncol = 3,byrow = F) > y [,1] [,2] [,3][1,] 3 6 9[2,] 4 7 10 > colnames<-c("col1","col2","col3") > rownames<-c("row1","row2","row3") > t<-matrix(3:11,ncol = 3,dimnames = list(rownames,colnames)) > t col1 col2 col3row1 3 6 9row2 4 7 10row3 5 8 11 访问矩阵的元素
可以使用元素的列和行索引来访问矩阵的元素。 我们考虑上面的矩阵P来找到下来找到下面的具体元素。
> colnames<-c("col1","col2","col3")> rownames<-c("row1","row2","row3")> t<-matrix(3:11,ncol = 3,dimnames = list(rownames,colnames))> t col1 col2 col3row1 3 6 9row2 4 7 10row3 5 8 11 > t[1,3] ##提取第一行,第三列 [1] 9 > t[1,] ##提取第一行,所有列 col1 col2 col3 3 6 9 > t[,3] ##提取第三列所有行 row1 row2 row3 9 10 11 > t[c(2,3),c(1,2)] ##提取第2,3行,第1,2列 col1 col2row2 4 7row3 5 8 矩阵计算
使用R运算符对矩阵执行各种数学运算,操作的结果也是一个矩阵。
操作中涉及的矩阵的尺寸(行数和列数)应相同。
加减乘除都可以。
> x<-matrix(3:11,nrow = 3,byrow=T)> y<-matrix(1:9,ncol = 3)> x [,1] [,2] [,3][1,] 3 4 5[2,] 6 7 8[3,] 9 10 11 > y [,1] [,2] [,3][1,] 1 4 7[2,] 2 5 8[3,] 3 6 9 > result1<-x+y> result1 [,1] [,2] [,3][1,] 4 8 12[2,] 8 12 16[3,] 12 16 20 > result2<-x-y> result2 [,1] [,2] [,3][1,] 2 0 -2[2,] 4 2 0[3,] 6 4 2
责任编辑: