查看原文
其他

R语言基础教程之矩阵

2017-09-07 miffery 临床科研与meta分析

矩阵是其中元素以二维矩形布局排列的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)) > tcol1 col2 col3 row1 3 6 9 row2 4 7 10 row3 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 col3 row1 3 6 9 row2 4 7 10 row3 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 col2 row2 4 7 row3 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


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存