- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- 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 maximum of factor levels in numerical column and return the output including other columns in the R data frame?

When we have factor column that helps to differentiate between numerical column then we might want to find the maximum value for each of the factor levels. This will help us to compare the factor levels in terms of their maximum and if we want to do this by getting all the columns in the data frame then aggregate function needs to be used with merge function.

Consider the below data frame −

## Example

set.seed(78) Group<-sample(LETTERS[1:5],20,replace=TRUE) Rank<-sample(1:10,20,replace=TRUE) Score<-sample(1:100,20) df1<-data.frame(Group,Rank,Score) df1

## Output

Group Rank Score 1 D 2 5 2 E 4 67 3 D 4 59 4 D 5 40 5 E 6 4 6 C 10 70 7 B 10 61 8 B 4 72 9 A 4 29 10 C 5 89 11 E 1 99 12 C 1 37 13 B 7 83 14 D 4 50 15 B 1 48 16 D 10 9 17 B 1 36 18 D 3 46 19 A 3 34 20 B 10 71

Finding the maximum Score for Group factor levels and returning the output with all the columns −

## Example

merge(aggregate(Score~Group,df1,max),df1,by=c("Group","Score"))

## Output

Group Score Rank 1 A 78 8 2 B 79 3 3 C 73 5 4 D 99 6 5 E 98 4

Let’s have a look at another example −

## Example

Class<-sample(c("First","Second","Third"),20,replace=TRUE) Gender<-sample(c("Male","Female"),20,replace=TRUE) Years<-sample(1:5,20,replace=TRUE) df2<-data.frame(Class,Gender,Years) df2

## Output

Class Gender Years 1 Third Female 5 2 First Female 4 3 Third Female 5 4 Third Male 4 5 Second Male 4 6 Third Female 3 7 First Male 1 8 Third Male 2 9 First Female 5 10 Second Male 5 11 Second Male 5 12 Third Female 3 13 Third Female 1 14 Second Male 4 15 First Male 2 16 Second Female 1 17 First Female 5 18 Third Female 5 19 Second Female 4 20 First Male 3

Finding the maximum Year for Class factor levels and returning the output with all the columns −

## Example

merge(aggregate(Years~Class,df2,max),df2,by=c("Class","Years"))

## Output

Class Years Gender 1 First 5 Male 2 First 5 Male 3 First 5 Male 4 Second 5 Male 5 Second 5 Female 6 Second 5 Female 7 Third 4 Male

- Related Questions & Answers
- How to extract the factor levels from factor column in an R data frame?
- How to find the number of numerical columns in an R data frame?
- How to find the position of maximum of each numerical column if some columns are categorical in R data frame?
- How to find the sum by distinct column for factor levels in an R data frame?
- How to find the cumulative sum for factor levels in an R data frame?
- How to sort a numerical factor column in an R data frame?
- How to find the column means by factor levels in R?
- How to find the mean of a numerical column by two categorical columns in an R data frame?
- How to combine the levels of a factor variable in an R data frame?
- How to find the number of levels in R for a factor column?
- How to find the column maximum if some columns are categorical in R data frame?
- How to find the minimum and maximum of columns values in an R data frame?
- How to find the sum of numerical columns based on the combination of values in categorical columns in R data frame?
- How to find the frequency table for factor columns in an R data frame?
- How to find the position of minimum of each numerical column if some columns are categorical in R data frame?

Advertisements