- 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 add a new column to an R data frame with largest value in each row?
When we have a data frame that contains all numerical columns then we might want to find the largest value in each row. For example, if we have a sales data set in which each row represents a customer and columns represent the products with quantities of values as values then we might want to find the maximum of each row to find out who buys which product the most. This can be done by using max with apply function for rows.
Example
Consider the below data frame −
> x1<-rnorm(20,0.5) > x2<-rnorm(20,1) > x3<-rnorm(20,1.5) > x4<-rnorm(20,2) > x5<-rnorm(20,2.5) > df1<-data.frame(x1,x2,x3,x4,x5) > df1
Output
x1 x2 x3 x4 x5 1 1.18034186 0.49284328 -0.08718758 2.1347878 1.5268073 2 -1.40782804 1.42663693 1.32881022 2.6669878 1.0841468 3 -0.97983604 1.44169070 1.61071046 1.2565825 2.4606037 4 0.66278043 -0.92167522 1.83864561 2.8141814 2.9662971 5 -0.28894011 2.48075526 1.12914164 1.9516229 2.1376559 6 0.99524440 0.08957948 2.26064272 2.4830815 2.6360470 7 -0.14063209 2.26533708 2.69280376 2.5909366 0.6680764 8 1.42980597 0.53201969 2.20666891 1.0486360 1.5426519 9 -1.56460610 1.28753103 0.27476707 2.8115892 2.0032481 10 -0.54612472 3.08304670 0.49416424 2.5654104 2.2844867 11 1.65764450 0.43096784 1.58808994 1.8602615 2.6050931 12 -0.75804168 1.37431560 2.44018038 2.1144182 3.4949352 13 -0.03532605 1.81643566 2.62136897 2.3025602 2.8444211 14 1.79233771 0.56249057 1.40411296 2.8285359 2.1802467 15 -0.26371033 1.76775985 1.12580463 2.3279574 1.4959805 16 -0.96034739 2.27838134 0.88127663 0.7533895 1.9305621 17 -0.38665902 1.05886571 0.57545650 1.2139412 2.6353083 18 0.18425157 -0.70984826 1.36148886 2.8257107 3.8666039 19 -0.55344371 -0.57471267 2.00483613 1.5374169 1.6765151 20 0.69122904 0.62235483 1.44516323 3.3455113 2.4330382
Adding a new column Maximum containing largest of each row −
> df1$Maximum<-apply(df1,1,max) > df1
Output
x1 x2 x3 x4 x5 Maximum 1 1.18034186 0.49284328 -0.08718758 2.1347878 1.5268073 2.134788 2 -1.40782804 1.42663693 1.32881022 2.6669878 1.0841468 2.666988 3 -0.97983604 1.44169070 1.61071046 1.2565825 2.4606037 2.460604 4 0.66278043 -0.92167522 1.83864561 2.8141814 2.9662971 2.966297 5 -0.28894011 2.48075526 1.12914164 1.9516229 2.1376559 2.480755 6 0.99524440 0.08957948 2.26064272 2.4830815 2.6360470 2.636047 7 -0.14063209 2.26533708 2.69280376 2.5909366 0.6680764 2.692804 8 1.42980597 0.53201969 2.20666891 1.0486360 1.5426519 2.206669 9 -1.56460610 1.28753103 0.27476707 2.8115892 2.0032481 2.811589 10 -0.54612472 3.08304670 0.49416424 2.5654104 2.2844867 3.083047 11 1.65764450 0.43096784 1.58808994 1.8602615 2.6050931 2.605093 12 -0.75804168 1.37431560 2.44018038 2.1144182 3.4949352 3.494935 13 -0.03532605 1.81643566 2.62136897 2.3025602 2.8444211 2.844421 14 1.79233771 0.56249057 1.40411296 2.8285359 2.1802467 2.828536 15 -0.26371033 1.76775985 1.12580463 2.3279574 1.4959805 2.327957 16 -0.96034739 2.27838134 0.88127663 0.7533895 1.9305621 2.278381 17 -0.38665902 1.05886571 0.57545650 1.2139412 2.6353083 2.635308 18 0.18425157 -0.70984826 1.36148886 2.8257107 3.8666039 3.866604 19 -0.55344371 -0.57471267 2.00483613 1.5374169 1.6765151 2.004836 20 0.69122904 0.62235483 1.44516323 3.3455113 2.4330382 3.345511
Let’s have a look at another example −
Example
> y1<-rpois(20,1) > y2<-rpois(20,2) > y3<-rpois(20,5) > y4<-rpois(20,10) > df2<-data.frame(y1,y2,y3,y4) > df2
Output
y1 y2 y3 y4 1 4 3 5 9 2 0 4 6 6 3 0 2 4 11 4 0 1 8 9 5 2 2 5 14 6 0 3 6 13 7 1 2 12 10 8 1 3 6 14 9 3 3 3 5 10 3 2 4 7 11 1 2 10 6 12 1 2 4 9 13 1 1 3 11 14 0 2 4 17 15 1 3 4 9 16 1 3 5 12 17 1 2 6 6 18 1 0 6 10 19 0 5 1 8 20 1 4 3 11
> df2$Maximum<-apply(df2,1,max) > df2
Output
y1 y2 y3 y4 Maximum 1 4 3 5 9 9 2 0 4 6 6 6 3 0 2 4 11 11 4 0 1 8 9 9 5 2 2 5 14 14 6 0 3 6 13 13 7 1 2 12 10 12 8 1 3 6 14 14 9 3 3 3 5 5 10 3 2 4 7 7 11 1 2 10 6 10 12 1 2 4 9 9 13 1 1 3 11 11 14 0 2 4 17 17 15 1 3 4 9 9 16 1 3 5 12 12 17 1 2 6 6 6 18 1 0 6 10 10 19 0 5 1 8 8 20 1 4 3 11 11
- Related Articles
- Find the column name with the largest value for each row in an R data frame.
- How to create a column with column name for maximum value in each row of an R data frame?
- How to add a string before each numeric value in an R data frame column?
- How to add a new column in an R data frame with count based on factor column?
- How to create a new column with a subset of row sums in an R data frame?
- How to create a column with largest size string value in rows in an R data frame?
- How to create a column of first non-zero value in each row of an R data frame?
- How to add a new column to a data frame using mutate in R?
- How to add columns with square of each column in R data frame?
- How to add a column in an R data frame with consecutive numbers?
- How to add a new column at the front of an existing R data frame?
- How to create a new column with means of row values for each or some of the columns in an R data frame?
- Replace each value in a column with the largest value based on a condition in R data frame.
- How to add a new column to represent the percentage for groups in an R data frame?
- How to add a new column in an R data frame by combining two columns with a special character?

Advertisements