- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
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 replace upper triangular matrix with lower triangular matrix and vice versa in R?
The upper triangular matrix can be replaced with lower triangular matrix by transposing the whole matrix and extracting upper triangular matrix from it then storing it in the original matrix. For example, if we have a matrix M then upper triangular matrix of M can be replaced with lower triangular matrix by using the below code −
M1[upper.tri(M1)]<-t(M1)[upper.tri(M1)]
It can be also done for lower triangular matrix in the similar manner.
Example
M1<-matrix(1:25,ncol=5) M1
Output
[,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
Example
M1[upper.tri(M1)]<-t(M1)[upper.tri(M1)] M1
Output
[,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 2 7 8 9 10 [3,] 3 8 13 14 15 [4,] 4 9 14 19 20 [5,] 5 10 15 20 25
Example
M2<-matrix(rpois(100,10),nrow=10) M2
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 3 12 16 6 4 11 12 12 9 14 [2,] 12 9 9 11 10 14 13 10 10 13 [3,] 17 14 8 12 12 15 9 8 15 4 [4,] 17 6 9 17 11 8 11 15 14 12 [5,] 11 14 7 7 12 9 9 8 14 13 [6,] 13 7 11 8 10 3 13 11 6 11 [7,] 13 11 7 11 15 9 12 10 11 7 [8,] 13 10 3 8 7 11 13 9 7 11 [9,] 7 18 15 11 12 14 10 5 7 15 [10,] 13 7 15 11 11 9 12 6 11 10
Example
M2[upper.tri(M2)]<-t(M2)[upper.tri(M2)] M2
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 3 12 17 17 11 13 13 13 7 13 [2,] 12 9 14 6 14 7 11 10 18 7 [3,] 17 14 8 9 7 11 7 3 15 15 [4,] 17 6 9 17 7 8 11 8 11 11 [5,] 11 14 7 7 12 10 15 7 12 11 [6,] 13 7 11 8 10 3 9 11 14 9 [7,] 13 11 7 11 15 9 12 13 10 12 [8,] 13 10 3 8 7 11 13 9 5 6 [9,] 7 18 15 11 12 14 10 5 7 11 [10,] 13 7 15 11 11 9 12 6 11 10
Example
M3<-matrix(rpois(64,5),nrow=8) M3
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 8 5 2 5 6 6 8 3 [2,] 7 6 13 5 6 9 5 8 [3,] 6 3 12 2 2 8 3 3 [4,] 3 6 2 7 3 1 5 6 [5,] 1 8 7 6 9 3 3 10 [6,] 4 4 7 10 4 4 8 4 [7,] 9 3 9 4 5 8 3 11 [8,] 4 4 9 5 5 4 8 6
Example
M3[lower.tri(M3)]<-t(M3)[lower.tri(M3)] M3
Output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 8 5 2 5 6 6 8 3 [2,] 5 6 13 5 6 9 5 8 [3,] 2 13 12 2 2 8 3 3 [4,] 5 5 2 7 3 1 5 6 [5,] 6 6 2 3 9 3 3 10 [6,] 6 9 8 1 3 4 8 4 [7,] 8 5 3 5 3 8 3 11 [8,] 3 8 3 6 10 4 11 6
Example
M4<-matrix(rnorm(36),nrow=6) M4
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.05023214 -0.3817478 0.7079296 0.8578374 -1.5239053 0.1864117 [2,] -0.73729460 1.5129931 0.2135871 0.9721983 -0.2416306 -0.5309397 [3,] -0.24488229 -0.6229905 0.8579926 1.3248632 -1.9305997 0.5397310 [4,] -1.24118039 -1.1080773 -0.9903481 0.1033527 0.4685492 0.1691699 [5,] 1.60606286 -0.9149534 -1.3265918 2.0232826 0.5383570 0.9284483 [6,] 1.29482725 -0.7275765 1.1407260 -0.8860395 -0.3185204 -1.0165007
Example
M4[lower.tri(M4)]<-t(M4)[lower.tri(M4)] M4
Output
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.05023214 -0.3817478 0.7079296 0.8578374 -1.5239053 0.1864117 [2,] -0.38174778 1.5129931 0.2135871 0.9721983 -0.2416306 -0.5309397 [3,] 0.70792961 0.2135871 0.8579926 1.3248632 -1.9305997 0.5397310 [4,] 0.85783742 0.9721983 1.3248632 0.1033527 0.4685492 0.1691699 [5,] -1.52390534 -0.2416306 -1.9305997 0.4685492 0.5383570 0.9284483 [6,] 0.18641175 -0.5309397 0.5397310 0.1691699 0.9284483 -1.0165007
Example
M5<-matrix(rexp(9),nrow=3) M5
Output
[,1] [,2] [,3] [1,] 0.8228933 0.05741123 0.3246455 [2,] 0.1750773 0.08412468 2.1097830 [3,] 0.3997029 1.18019289 0.1099468
Example
M5[upper.tri(M5)]<-t(M5)[upper.tri(M5)] M5
Output
[,1] [,2] [,3] [1,] 0.8228933 0.17507725 0.3997029 [2,] 0.1750773 0.08412468 1.1801929 [3,] 0.3997029 1.18019289 0.1099468
- Related Articles
- Program to print Lower triangular and Upper triangular matrix of an array in C
- How to create a heatmap for lower triangular matrix in R?
- C# program to Illustrate Upper Triangular Matrix
- Java Program to display upper triangular matrix
- How to create an upper triangular matrix using vector elements in R?
- C# Program to Illustrate Lower Triangular Matrix
- How to find the row and column index for upper triangular matrix elements in R?
- Program to check if matrix is upper triangular in C++
- Program to check if matrix is lower triangular in C++
- Print lower triangular matrix pattern from given array in C Program.
- Create an array with zero above the main diagonal forming a lower triangular matrix in Numpy
- How to solve triangular matrix equations using Python SciPy?
- C program to convert upper case to lower and vice versa by using string concepts
- How to change column names to capital letters from lower case or vice versa in R?
- How to replace 0 with NA in an R matrix?

Advertisements