R数据结构之矩阵创建

Posted 吼吼大王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R数据结构之矩阵创建相关的知识,希望对你有一定的参考价值。

 矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix( )创建矩阵。一般使用格式为:
Mymatrix  <-  matrix(vector,nrow=number_of_rows,ncol=number_of_columns,
                byrow=logical_value, dimnames=list(
                char_vector_rowname,char_vector_colnames))
其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、 以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认情况下按列填充。简单示例如下:
> y <- matrix(1:20,nrow=5,ncol=4)  #创建一个$5\times 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‘,‘C1‘)
> mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames ,cnames ))
> mymatrix )#按行填充的$2\times 2$ 的矩阵
   C1 C1
R1  1 26
R2 24 68
> mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames ,cnames ))
> mymatrix #按列填充的$2\times 2$ 的矩阵
   C1 C1
R1  1 24
R2 26 68
我们可以使用下标和方括号来选择矩阵中的行、列或元素。$\text{X }\!\![\!\!\text{ i, }\!\!]\!\!\text{ }$指矩阵X中的第$i$行,$\text{X }\!\![\!\!\text{ ,j }\!\!]\!\!\text{ }$ 指第$j$列,$\text{X }\!\![\!\!\text{ i,j }\!\!]\!\!\text{ }$ 指第$i$行第$j$个元素。选择多行或多列时,下标$i$和$j$可为数值型向量,如:
> y[2,]       #第二行的元素
[1]  2  7  12  17   
> y[,2]        #第二列的元素
[1]  6  7  8  9  10  
> y[1,4]        #第一行第四列的元素
[1] 16
> y[1,c(3,4)]      #第一行第四、第五列的元素
[1] 11  16

以上是关于R数据结构之矩阵创建的主要内容,如果未能解决你的问题,请参考以下文章

从零开始系列-R语言基础学习笔记之二 数据结构

R语言基础-向量|矩阵|数组|数据框|数据IO|实用函数

R语言创建使用矩阵(按行按列填充,矩阵命名,矩阵下标使用,数据框转换为矩阵)

R语言创建使用矩阵(按行按列填充,矩阵命名,矩阵下标使用,数据框转换为矩阵)

从零开始学习R语言——数据结构之“数组(Array)”

从零开始系列-R语言基础学习笔记之二 数据结构