- 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 divide matrix rows by maximum value in each row excluding 0 in R?
To divide matrix row values by row maximum excluding 0 in R, we can follow the below steps −
- First of all, create a matrix.
- Then, use apply function and if else function to divide the matrix row values by row maximum excluding 0.
Create the matrix
Let's create a matrix as shown below −
M<-matrix(rpois(75,1),ncol=3) M
On executing, the above script generates the below output(this output will vary on your system due to randomization) −
[,1] [,2] [,3] [1,] 2 0 1 [2,] 1 2 0 [3,] 4 1 1 [4,] 2 1 0 [5,] 1 2 0 [6,] 0 2 0 [7,] 0 2 1 [8,] 2 1 0 [9,] 3 1 1 [10,] 1 2 1 [11,] 1 3 0 [12,] 1 2 0 [13,] 1 1 0 [14,] 0 1 1 [15,] 0 1 0 [16,] 2 1 1 [17,] 1 0 1 [18,] 0 1 1 [19,] 1 1 0 [20,] 0 0 2 [21,] 0 1 2 [22,] 1 1 0 [23,] 0 2 3 [24,] 2 0 1 [25,] 0 2 0
Divide the matrix row values by row maximum excluding 0
Using apply function to divide the row values of M by row maximum excluding 0 −
M<-matrix(rpois(75,1),ncol=3) M_new<-t(apply(M,1, function(x) if (0 %in% x) x else x/max(x))) M_new
Output
[,1] [,2] [,3] [1,] 2.0 0.0000000 1.0000000 [2,] 1.0 2.0000000 0.0000000 [3,] 1.0 0.2500000 0.2500000 [4,] 2.0 1.0000000 0.0000000 [5,] 1.0 2.0000000 0.0000000 [6,] 0.0 2.0000000 0.0000000 [7,] 0.0 2.0000000 1.0000000 [8,] 2.0 1.0000000 0.0000000 [9,] 1.0 0.3333333 0.3333333 [10,] 0.5 1.0000000 0.5000000 [11,] 1.0 3.0000000 0.0000000 [12,] 1.0 2.0000000 0.0000000 [13,] 1.0 1.0000000 0.0000000 [14,] 0.0 1.0000000 1.0000000 [15,] 0.0 1.0000000 0.0000000 [16,] 1.0 0.5000000 0.5000000 [17,] 1.0 0.0000000 1.0000000 [18,] 0.0 1.0000000 1.0000000 [19,] 1.0 1.0000000 0.0000000 [20,] 0.0 0.0000000 2.0000000 [21,] 0.0 1.0000000 2.0000000 [22,] 1.0 1.0000000 0.0000000 [23,] 0.0 2.0000000 3.0000000 [24,] 2.0 0.0000000 1.0000000 [25,] 0.0 2.0000000 0.0000000
- Related Articles
- How to divide data.table object rows by maximum value in each row excluding 0 in R?
- How to divide data frame row values by maximum value in each row excluding 0 in R?
- How to divide the matrix rows by row maximum in R?
- How to divide matrix rows in R by row median?
- How to divide the matrix rows by row minimum in R?
- How to divide data frame rows in R by row maximum?
- How to divide the matrix rows by row standard deviation in R?
- How to divide the data.table object rows in R by row maximum?
- How to divide matrix values by row variance in R?
- How to divide the row values by row mean in R matrix?
- How to divide the row values by row sum in R matrix?
- How to divide data.table object rows by row median in R?
- How to divide data frame rows in R by row minimum?
- How to divide matrix rows by number of columns in R?
- How to divide the data.table object rows in R by row minimum?

Advertisements