查看原文
其他

每天学习一点R:7.矩阵

红皇后学术 红皇后学术 2022-06-07

矩阵

矩阵是由多行和多列数据组成的多元数据组,是R语言分析中较为常用的数据格式之一。

矩阵的建立

matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
  • data参数输入的为矩阵的元素,不能为空

  • nrow参数输入的是矩阵的行数,默认为1

  • ncol参数输入的是矩阵的列数,默认为1

  • byrow参数控制矩阵元素的排列方式,TRUE表示按行排列,FALSE表示按列排列,默认为FALSE

  • dimnames参数输入矩阵的行名和列名,可以不输入,默认为NULL

#创建一个矩阵matrix(1:6,nrow=2,ncol=3,byrow=FALSE) [,1] [,2] [,3][1,] 1 3 5[2,] 2 4 6#改变矩阵的行数和列数matrix(1:6,nrow=3,ncol=2,byrow=FALSE) [,1] [,2][1,] 1 4[2,] 2 5[3,] 3 6#改变byrow参数matrix(1:6,nrow=3,ncol=2,byrow=T) [,1] [,2][1,] 1 2[2,] 3 4[3,] 5 6#设定矩阵的行名和列名matrix(1:6,nrow=3,ncol=2,byrow=T,dimnames=list(c("A","B","C"),c("D","E"))) D EA 1 2B 3 4C 5 6

矩阵的相关操作

nrow()ncol()命令可以查看矩阵的行数和列数dim()也可直接返回矩阵的行数和列数

rownames()colnames()命令可以查看或修改矩阵的行名和列名

查看矩阵中某个特定元素应用[行数,列数],同时还可对该元素进行重新赋值。

diag()函数可以返回或重新定义矩阵的对角线

lower.tri()upper.tri()函数用于查看或改变矩阵的下三角和上三角部分。

t()对矩阵进行转置

rowSums()colSums()计算矩阵各行和各列的总和

rowMeans()colMeans()计算矩阵各行和各列的平均值

矩阵的计算

对于维数相同的矩阵,对处于相同位置的元素进行加减计算,直接采用数学符号即可,参考向量的计算。

矩阵的伴随矩阵应用LoopAnalyst包中的make.adjoint()命令生成。

矩阵的逆矩阵应用solve()命令生成。

eigen()命令计算矩阵的特征值和特征向量

矩阵的中心化和标准化

在进行部分统计学分析之前,可能需要对数据进行中心化或标准化处理。

scale(x, center = TRUE, scale = TRUE)
  • x为待处理的矩阵

  • center定义是否对矩阵进行中心化

  • scale定义是否对矩阵进行标准化

扩展阅读



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

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