rank() function in R returns the ranks of the values in a vector. rank function in R also handles Ties and missing values in several ways. Rank of the vector with NA. Min rank, Max rank, last rank and average rank in R. rank() function in R returns the rank of the column in R. We can also calculate minimum and maximum rank of the column in R dataframe.

- Rank the Vector in R by descending order, by minimum rank, maximum rank, first rank, last rank and average of two ranks if two values are found same
- Rank the dataframe in R by ascending and descending order
- Rank the dataframe column by minimum rank if found 2 values are same
- Rank the dataframe by Maximum rank if found 2 values are same
- Rank the dataframe column by first, last and average of two rank if found 2 values are same
- Rank the dataframe of the character column in R using rank() function.

#### Syntax for rank function in R:

x | numeric, character or logical vector |

na.last | Treatment of NAs. How to Handle NAs |

ties.method | Treatment of Ties. How to Handle Ties |

#### Rank function in R with NAs as last:

x <- c(2,7,1,-17,NA,Inf,35,21) rank(x)

by default NAs are ranked last, so the output will be

#### Rank function in R with NAs as First:

NAs are ranked first

x <- c(2,7,1,-17,NA,Inf,35,21) rank(x,na.last = FALSE) #NA FIRST

**output:**

**Rank function in R with NAs are removed:**

NAs are neglectled by rank function

x <- c(2,7,1,-17,NA,Inf,35,21) rank(x,na.last = NA) #NA removed

**output:**

**Rank a vector in R with NAs are ranked as NA:**

NAs are kept and ranked as NAs by rank function

x <- c(2,7,1,-17,NA,Inf,35,21) rank(x,na.last = "keep") #NA is kept with rank NA

**output:**

**Rank function in R with Ties=”Average”:**

Average of the rank is allocated to the elements of vector when ties are encountered

x <- c(2,7,1,-17,NA,Inf,35,21,7) rank(x,na.last = TRUE,ties.method = "first")

**output:**

**Rank function in R with Ties=”random”:**

x <- c(2,7,1,-17,NA,Inf,35,21,7) rank(x,na.last = TRUE,ties.method = "random")

**output:**

**Rank function in R with Ties=”max”:**

Maximum value of the rank is allocated to the elements of vector when ties are encountered

x <- c(2,7,1,-17,NA,Inf,35,21,7) rank(x,na.last = TRUE,ties.method = "max")

**output:**

** **

**Rank function in R with Ties=”min”:**

Minimum value of the rank is allocated to the elements of vector when ties are encountered

x <- c(2,7,1,-17,NA,Inf,35,21,7) rank(x,na.last = TRUE,ties.method = "min")

**output:**

** **

**Ranking of character vector in R:**

Rank() function can also be used to rank character vector

y<-c("a","h","e","d") rank(y)

**output:**

#### Rank the dataframe columns in R

First lets create the dataframe as shown below

#### Create dataframe my_basket = data.frame(ITEM_GROUP = c("Fruit","Fruit","Fruit","Fruit","Fruit","Vegetable","Vegetable","Vegetable","Vegetable","Dairy","Dairy","Dairy","Dairy","Dairy"), ITEM_NAME = c("Apple","Banana","Orange","Mango","Papaya","Carrot","Potato","Brinjal","Raddish","Milk","Curd","Cheese","Milk","Paneer"), Price = c(100,80,80,90,65,70,60,70,25,60,40,35,50,120)) my_basket

so the resultant dataframe will be

#### Rank the dataframe column in ascending order R

Rank of “Price” column in ascending order is calculated and assigned to the column “Price_rank”. in case of same values, average rank of both the values are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(my_basket$Price) my_basket

so the resultant dataframe with rank calculated will be

#### Rank the dataframe column in descending order R

Rank of “Price” column in desending order is calculated and assigned to the column “Price_rank”. in case of same values, average rank of both the values are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(desc(my_basket$Price)) my_basket

so the resultant dataframe with rank calculated will be

#### Rank the dataframe column in ascending order with random ranking method

Rank of “Price” column in ascending order is calculated and assigned to the column “Price_rank”. in case of same values, random rank of both the values are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(my_basket$Price,na.last = TRUE,ties.method = "random") my_basket

so the resultant dataframe with rank calculated will be

#### Rank the dataframe column in ascending order with max ranking method

Rank of “Price” column in ascending order is calculated and assigned to the column “Price_rank”. in case of same values, maximum rank of both the values in case of ties are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(my_basket$Price,na.last = TRUE,ties.method = "max") my_basket

so the resultant dataframe with rank calculated will be

#### Rank the dataframe column in ascending order with min ranking method

Rank of “Price” column in ascending order is calculated and assigned to the column “Price_rank”. in case of same values, minimum rank of both the values in case of ties are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(my_basket$Price,na.last = TRUE,ties.method = "min") my_basket

so the resultant dataframe with rank calculated will be

#### Rank the dataframe column in ascending order with First ranking method

Rank of “Price” column in ascending order is calculated and assigned to the column “Price_rank”. in case of same values, First rank is assigned to the first value in case of ties are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(my_basket$Price,na.last = TRUE,ties.method = "first") my_basket

so the resultant dataframe with rank calculated will be

#### Rank the dataframe column in ascending order with last ranking method

Rank of “Price” column in ascending order is calculated and assigned to the column “Price_rank”. in case of same values, Last rank is assigned to the first value in case of ties are assigned as shown below.

###### Rank the dataframe column in R my_basket$Price_rank = rank(my_basket$Price,na.last = TRUE,ties.method = "last") my_basket

so the resultant dataframe with rank calculated will be

#### Rank the character column of the dataframe in R

Rank of “ITEM_NAME” column in ascending order is calculated and assigned to the column “ITEM_NAME_ALphabet_RANK”.

###### Rank the dataframe column in R my_basket$ITEM_NAME_ALphabet_RANK = rank(my_basket$ITEM_NAME) my_basket

so the resultant dataframe with rank calculated will be