- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to find the sum of anti-diagonal elements in a matrix in R?
The anti-diagonal elements in a matrix are the elements that form straight line from right upper side to right bottom side. For example, if we have a matrix as shown below −
1 2 3 4 5 6 7 8 9
then the diagonal elements would be 1, 5, 9 and the anti-diagonal elements would be 3, 5, 7.
To find the sum of these anti-diagonal elements, we can use apply function.
Example
M1<-matrix(1:9,ncol=3) M1
Output
[,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9
Example
sum(diag(apply(M1,2,rev)))
Output
[1] 15
Example
M2<-matrix(1:100,nrow=10) M2
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 11 21 31 41 51 61 71 81 91 [2,] 2 12 22 32 42 52 62 72 82 92 [3,] 3 13 23 33 43 53 63 73 83 93 [4,] 4 14 24 34 44 54 64 74 84 94 [5,] 5 15 25 35 45 55 65 75 85 95 [6,] 6 16 26 36 46 56 66 76 86 96 [7,] 7 17 27 37 47 57 67 77 87 97 [8,] 8 18 28 38 48 58 68 78 88 98 [9,] 9 19 29 39 49 59 69 79 89 99 [10,] 10 20 30 40 50 60 70 80 90 100
sum(diag(apply(M2,2,rev))) [1] 505
Example
M3<-matrix(sample(0:9,36,replace=TRUE),nrow=6) M3
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 8 6 1 4 2 6 [2,] 3 5 7 5 6 7 [3,] 3 2 6 9 8 2 [4,] 3 2 5 9 4 6 [5,] 7 2 8 3 6 4 [6,] 6 0 2 5 6 6
sum(diag(apply(M3,2,rev))) [1] 34
Example
M4<-matrix(sample(1:10,64,replace=TRUE),nrow=8) M4
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1, ] 6 1 2 1 3 1 7 7 [2,] 1 2 9 9 5 10 4 10 [3,] 4 2 5 4 5 8 8 10 [4,] 7 5 8 4 7 7 1 4 [5,] 10 9 1 5 6 8 2 5 [6,] 7 9 7 1 5 4 2 6 [7,] 4 9 4 5 8 9 2 9 [8,] 7 7 6 9 1 8 1 2
sum(diag(apply(M4,2,rev))) [1] 54
Example
M5<-matrix(sample(1:100,81),nrow=9) M5
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] 32 34 99 73 93 65 82 50 9 [2,] 49 69 62 37 96 40 57 97 86 [3,] 11 84 22 53 87 12 95 88 100 [4,] 44 77 48 58 71 78 2 10 45 [5,] 39 66 72 23 24 20 55 59 35 [6,] 18 79 52 98 29 43 7 75 74 [7,] 80 15 70 91 13 60 61 1 38 [8,] 41 5 4 17 46 30 26 81 21 [9,] 54 51 6 25 47 89 36 85 67
sum(diag(apply(M5,2,rev))) [1] 530
Example
M6<-matrix(sample(101:999,36),nrow=6) M6
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 726 139 975 492 672 686 [2,] 501 754 818 724 547 446 [3,] 204 480 530 112 872 761 [4,] 789 165 572 899 538 298 [5,] 987 119 274 369 936 132 [6,] 306 696 448 618 951 137
sum(diag(apply(M6,2,rev))) [1] 2342
Example
M7<-matrix(rpois(49,5),nrow=7) M7
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 3 3 6 5 6 4 5 [2,] 1 9 7 4 2 5 4 [3,] 4 6 5 5 4 4 0 [4,] 6 5 5 4 5 10 1 [5,] 7 3 4 5 3 5 5 [6,] 4 4 5 2 5 2 5 [7,] 9 7 6 5 0 1 2
sum(diag(apply(M7,2,rev))) [1] 35
Example
M8<-matrix(rpois(81,3),nrow=9) M8
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] 0 3 5 1 2 2 2 2 3 [2,] 2 2 0 4 3 5 3 5 5 [3,] 5 2 5 5 1 2 2 5 6 [4,] 4 4 5 3 3 3 2 1 5 [5,] 7 6 3 2 2 8 3 1 2 [6,] 5 2 3 1 5 3 1 2 1 [7,] 2 6 4 3 2 4 4 2 2 [8,] 1 3 3 3 2 1 3 1 0 [9,] 1 4 5 3 5 5 2 2 2
sum(diag(apply(M8,2,rev))) [1] 24
- Related Articles
- How to find the sum of diagonal elements in a table in R?
- How to find the mean of a square matrix elements by excluding diagonal elements in R?
- How to set the diagonal elements of a matrix to 1 in R?
- How to convert diagonal elements of a matrix in R into missing values?
- Program to find diagonal sum of a matrix in Python
- How to extract diagonal elements of a matrix in R without using diag function?
- How to create a block diagonal matrix using a matrix in R?
- How to find the variance of row elements of a matrix in R?
- How to convert a vector into a diagonal matrix in R?
- How to find the sum of two list elements in R?
- How to find the sum of all array elements in R?
- How to find the sum of rows, columns, and total in a matrix in R?
- Program to find sum each of the diagonal path elements in a binary tree in Python
- Convert a single column matrix into a diagonal matrix in R.
- How to find the sum product of two matrix by row in R?

Advertisements