- 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 change the order of a matrix in increasing order based on a single column?
To change the order of a matrix in increasing order based on a single column in R, we can use order function after subsetting a particular column.
For example, if we have a matrix called M and we want to change the order of M in increasing order based on first column then it can be done by using the following command −
M[order(M[,1]),]
Example 1
Following snippet creates a matrix −
M1<-matrix(rpois(100,10),ncol=5) M1
The following matrix is created −
[,1][,2][,3][,4][,5] [1,] 13 10 10 9 13 [2,] 4 14 14 8 10 [3,] 10 16 10 9 11 [4,] 6 9 12 8 8 [5,] 10 12 12 10 11 [6,] 6 8 12 12 8 [7,] 13 11 8 11 5 [8,] 2 8 15 8 6 [9,] 11 6 8 12 12 [10,] 14 7 9 9 13 [11,] 6 15 14 8 11 [12,] 9 10 14 9 8 [13,] 7 13 6 10 9 [14,] 12 16 9 10 9 [15,] 10 9 7 6 8 [16,] 12 5 10 6 12 [17,] 9 8 11 9 6 [18,] 12 8 11 11 9 [19,] 10 11 8 10 17 [20,] 10 10 6 17 17
To change the order of M1 in increasing order based on column 1, add the following code to the above snippet −
M1<-matrix(rpois(100,10),ncol=5) M1[order(M1[,1]),]
Output
If you execute all the above given snippets as a single program, it generates the following output −
[,1][,2][,3][,4][,5] [1,] 2 8 15 8 6 [2,] 4 14 14 8 10 [3,] 6 9 12 8 8 [4,] 6 8 12 12 8 [5,] 6 15 14 8 11 [6,] 7 13 6 10 9 [7,] 9 10 14 9 8 [8,] 9 8 11 9 6 [9,] 10 16 10 9 11 [10,] 10 12 12 10 11 [11,] 10 9 7 6 8 [12,] 10 11 8 10 17 [13,] 10 10 6 17 17 [14,] 11 6 8 12 12 [15,] 12 16 9 10 9 [16,] 12 5 10 6 12 [17,] 12 8 11 11 9 [18,] 13 10 10 9 13 [19,] 13 11 8 11 5 [20,] 14 7 9 9 13
Example 2
Following snippet creates a matrix −
M2<-matrix(round(rnorm(80),2),ncol=4) M2
The following matrix is created −
[,1] [,2] [,3] [,4] [1,] 2.09 0.99 1.01 -2.08 [2,] -0.68 -1.94 -0.52 -0.09 [3,] -1.86 0.11 -0.29 1.19 [4,] 0.53 0.61 0.40 1.19 [5,] 0.31 -1.45 -0.55 -0.79 [6,] -1.35 0.48 0.09 -1.55 [7,] -1.94 -0.83 -1.96 2.46 [8,] -0.12 1.02 -1.12 -0.16 [9,] 1.14 0.54 -1.33 -0.10 [10,] 0.64 0.77 -0.85 0.42 [11,] -0.49 0.12 -0.69 -1.61 [12,] -0.83 0.86 0.38 -0.73 [13,] 0.27 1.38 0.98 -1.54 [14,] 0.16 1.97 -0.73 -0.69 [15,] 0.63 -0.03 -1.00 0.12 [16,] -0.40 -2.25 -1.04 -1.36 [17,] 0.90 0.03 -0.41 0.59 [18,] -0.83 0.21 -0.24 0.29 [19,] -0.33 -0.16 0.48 -0.90 [20,] 0.74 0.57 -0.32 0.23
To change the order of M2 in increasing order based on column 4, add the following code to the above snippet −
M2<-matrix(round(rnorm(80),2),ncol=4) M2[order(M2[,4]),]
Output
If you execute all the above given snippets as a single program, it generates the following output −
[,1] [,2] [,3] [,4] [1,] 2.09 0.99 1.01 -2.08 [2,] -0.49 0.12 -0.69 -1.61 [3,] -1.35 0.48 0.09 -1.55 [4,] 0.27 1.38 0.98 -1.54 [5,] -0.40 -2.25 -1.04 -1.36 [6,] -0.33 -0.16 0.48 -0.90 [7,] 0.31 -1.45 -0.55 -0.79 [8,] -0.83 0.86 0.38 -0.73 [9,] 0.16 1.97 -0.73 -0.69 [10,] -0.12 1.02 -1.12 -0.16 [11,] 1.14 0.54 -1.33 -0.10 [12,] -0.68 -1.94 -0.52 -0.09 [13,] 0.63 -0.03 -1.00 0.12 [14,] 0.74 0.57 -0.32 0.23 [15,] -0.83 0.21 -0.24 0.29 [16,] 0.64 0.77 -0.85 0.42 [17,] 0.90 0.03 -0.41 0.59 [18,] -1.86 0.11 -0.29 1.19 [19,] 0.53 0.61 0.40 1.19 [20,] -1.94 -0.83 -1.96 2.46
- Related Articles
- MySQL update a column with an int based on order?
- How to sort matrix columns independently in increasing order in R?
- How do I change a tag\'s inner HTML based on their order in JavaScript?
- How to sort a matrix based on one column in R?
- How to check whether the elements of a vector are arranged in an increasing order or decreasing order?
- ORDER BY records in MySQL based on a condition
- How to subset a matrix based on values in a particular column in R?
- How to change the sign of even number rows in single column matrix in R?
- How to change the order of elements in a list in R?
- How to convert a matrix into a matrix with single column in R?
- How to filter single column of a matrix with column name in R?
- Method Overloading based on the order of the arguments in Java
- How to change order of items in MySQL?
- How to sort bars in increasing order in a bar chart in matplotlib?
- How to change the JOIN order in Oracle?
