第5章 矩阵

5.1 矩阵的介绍

矩阵(matrix)是m×n个数按照m行n列的方式排列形成的数表。R中的矩阵(matrix)可以通过matrix()函数、cbind()rbind()函数生成。

  • matrix()函数用于将向量转变为m×n的矩阵,输入向量的长度必须等于m×n。
  • cbind()函数指column bind,即的叠加,要求输入的向量或矩阵的行数相同。
  • rbind()函数指row bind,即的叠加,要求输入的向量或矩阵的列数相同。
  • # 创建向量
    var_vector <- c(1,2,3,4,5,6)
    
    # matrix()函数生成矩阵
    var_matrix <- matrix(var_vector, nrow=2) 
    var_matrix
    ##      [,1] [,2] [,3]
    ## [1,]    1    3    5
    ## [2,]    2    4    6
    # 列叠加
    cbind(var_matrix, var_matrix)
    ##      [,1] [,2] [,3] [,4] [,5] [,6]
    ## [1,]    1    3    5    1    3    5
    ## [2,]    2    4    6    2    4    6
    # 行叠加
    rbind(var_matrix, var_matrix)
    ##      [,1] [,2] [,3]
    ## [1,]    1    3    5
    ## [2,]    2    4    6
    ## [3,]    1    3    5
    ## [4,]    2    4    6

    5.2 矩阵的转置

    矩阵的转置使用t()函数,ttranspose

    t(var_matrix)
    ##      [,1] [,2]
    ## [1,]    1    2
    ## [2,]    3    4
    ## [3,]    5    6

    5.3 矩阵元素的提取

    矩阵中元素的提取采用[行索引,列索引]的方式。

    # 提取第1行第2列的元素
    var_matrix[1,2] 
    ## [1] 3
    # 提取第1行第2、3列的元素
    var_matrix[1,c(2,3)] 
    ## [1] 3 5
    # 提取第1行的所有元素
    var_matrix[1,]
    ## [1] 1 3 5
    # 提取第2列的所有元素
    var_matrix[,2] 
    ## [1] 3 4

    5.4 矩阵维度的获取

    采用dim()函数(dimdimension)获取矩阵的维度,nrow()函数获取矩阵的行数,ncol()函数获取矩阵的列数。

    # 获取维度
    dim(var_matrix)
    ## [1] 2 3
    # 获取行数
    nrow(var_matrix)
    ## [1] 2
    # 获取列数
    ncol(var_matrix)
    ## [1] 3