R语言 如何不使用diag函数提取矩阵的对角线元素

R语言 如何不使用diag函数提取矩阵的对角线元素

在这篇文章中,我们将看到如何在不使用diag()函数的情况下在R编程语言中提取矩阵的对角线元素。

矩阵是一个以行和列排列的矩形数字。在一个矩阵中,我们知道行是水平方向的,列是垂直方向的。在R编程中,矩阵是二维的、同质的数据结构。

矩阵[row(matrix)==col(matrix)]

其中,矩阵是输入矩阵。row()将检查行元素,col()将检查列元素。

例1 :

在这个例子中,我们将创建5*5矩阵并显示对角线元素。

# create 5*5 matrix.
matrix_data=matrix(1:25,nrow=5,ncol=5)
  
# display actual matrix
print(matrix_data)
  
# extract diagonal elements
matrix_data[row(matrix_data)==col(matrix_data)]

输出

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    6   11   16   21
[2,]    2    7   12   17   22
[3,]    3    8   13   18   23
[4,]    4    9   14   19   24
[5,]    5   10   15   20   25
[1]  1  7 13 19 25

例2 :

在这个例子中,我们将创建3*3矩阵并显示对角线元素。

# create 3*3 matrix.
matrix_data = matrix(c(1, 3, 4, 5, 6, 7, 9, 6, 3),
                     nrow=3, ncol=3)
  
# display actual matrix
print(matrix_data)
  
# extract diagonal elements
matrix_data[row(matrix_data) == col(matrix_data)]

输出

     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    3    6    6
[3,]    4    7    3
[1] 1 6 3

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程