R语言如何创建矩阵

2020年10月31日16:41:54R语言如何创建矩阵已关闭评论

R语言如何创建矩阵

在R中,可以使用matrix函数并以向量形式输入矩阵中的全部元素,使用ncol和nrow可设置矩阵的行和列数,从而创建一个矩阵。例如:


data<-c(1:10)
a<-matrix(data,ncol=2,nrow=5)
a
            [,1]  [,2]
    [1,]    1     6
    [2,]    2     7
    [3,]    3     8
    [4,]    4     9
    [5,]    5    10

在上面的示例中,data是一个向量,是元素为1~10的实数。使用matrix函数,把向量data转化为2列(ncol=2)5行(nrow=5)的矩阵。注意,向量1~10的填充方式为以列为单位填充。如果想以行为单位填充,则可以把matrix函数的byrow参数置为T。例如:


a<-matrix(data,ncol=2,nrow=5,byrow = T)
a
            [,1] [,2]
    [1,]    1    2
    [2,]    3    4
    [3,]    5    6
    [4,]    7    8
    [5,]    9   10

对于matrix函数的行数参数nrow和列数参数ncol,可以通过dim函数来获取并编辑。例如:


data<-c(1:10)
a<-matrix(data)
dim(a)<-c(2,5)
a
          [,1]  [,2]  [,3]  [,4]  [,5]
    [1,]    1     3     5     7     9
    [2,]    2     4     6     8    10

其中,dim(<矩阵>)是由矩阵的行数和列数这两个元素组成的向量,我们称其为维数向量。

在创建矩阵时,也可以使用dimnames参数设置行和列的名称。例如:


a<-matrix(data,ncol=2,nrow=5,dimnames=list(c("r1","r2","r3","r4","r5"),c("c1","c2")))
a
        c1 c2
    r1  1  6
    r2  2  7
    r3  3  8
    r4  4  9
    r5  5 10

dimnames参数以list列表形式进行输入,列表数据的具体说明会在下面章节中讲解。在上面的示例中,list(c("r1","r2","r3","r4","r5"),c("c1","c2"))表示行名称为r1~r5,列名称为c1~c2。设置好行和列的名称后,也可以直接通过dimnames(<矩阵>)来读取并编辑行列名称。

前面建立矩阵的过程中实质是利用了向量内的元素,即通过设置列数ncol和行数nrow来转化为矩阵。同样,也可以使用as.vector(<矩阵>)将矩阵反过来转化为向量。例如:


data<-c(1:10)
a<-matrix(data,ncol=2,nrow=5)
b<-as.vector(a)
b
    [1]  1  2  3  4  5  6  7  8  9 10

其中,col是列的简称,row是行的简称。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。