Row wise median – row median in R dataframe

Row wise median of the dataframe in R or median value of each row is calculated using rowMedians() function. Other method to get the row median in R is by using apply() function. row wise median of the dataframe is also calculated using dplyr package. rowwise() function of dplyr package along with the median function is used to calculate row wise median. we will be looking at the following examples

  • Row wise median of r dataframe using rowMedians()
  • Row median of the dataframe using apply() function.
  • Row wise median of the dataframe using dplyr package.

row wise median in R using rowMedians() and median() 21

First let’s create the dataframe


### Create Data Frame
df1 = data.frame( Name = c('George','Andrea', 'Micheal','Maggie','Ravi','Xien','Jalpa'), 
 Mathematics1_score=c(62,47,55,74,32,77,86),
 Mathematics2_score=c(45,78,44,89,66,49,72),
 Science_score=c(56,52,45,88,33,90,47))

df1

df1 will be

Row wise median – row median in R dataframe 1

 

 

Row wise median in R dataframe using rowMedians()

Let’s calculate the row wise median using rowMedians() function as shown below. rowMedians() function takes up column 2 to 4 and finds row wise median value.


## row wise median using rowMedians()


install.packages("matrixStats")
library(matrixStats)

df1$row_median = rowMedians(as.matrix(df1[,c(2,3,4)]))
df1

or

## row wise median using rowMedians()

install.packages("matrixStats")
library(matrixStats)

df1$row_median = rowMedians(as.matrix(df1[,c(-1)]))
df1

So the resultant dataframe will be
Row wise median – row median in R dataframe 2

 

 

 

Row wise median in R dataframe using apply() function

Let’s calculate the row wise median using apply() function as shown below. apply() function takes three arguments first argument is dataframe without first column and second argument is used to perform row wise operation (argument 1- row wise ; 2 – column wise ). third argument median function which calculates median values.  so here it performs row wise median.

### Row wise median using apply() function

df1$row_median = apply(df1[,-1], 1, median)
df1

So the resultant dataframe will be
Row wise median – row median in R dataframe 3

 

 

Row wise median of the dataframe using dplyr: Method 1

rowMedian() function of matrixStats package. takes up the columns 2 to 4 and performs the row wise operation with NA values replaced to zero.  row wise median is calculated using pipe (%>%) operator of the dplyr package.

##### Dplyr row wise median
library(dplyr)
library(matrixStats)

df1 %>% replace(is.na(.), 0) %>% mutate(row_wise_median = rowMedians(as.matrix(df1[,c(2,3,4)])))

So the resultant dataframe with row wise median calculated will be

 

Row wise median – row median in R dataframe 4

 

Row wise median of the dataframe using dplyr: Method 2

Row wise median is calculated with the help rowwise() function of dplyr package  and median() function as shown below

## row wise median using dplyr
 
library(dplyr)
library(matrixStats)

df1 %>%
  rowwise() %>%
  mutate(
    Median_score = median(c(Mathematics1_score,Mathematics2_score,Science_score))
  )

row wise median of “Mathematics1_score” , “Mathematics2_score” and “Science_score” is calculated and populated for each row as shown below

Row wise median – row median in R dataframe 5

 

For more Details kindly refer to matrixStats package in R


Other Related Topics

                                                                                         

Author

  • Sridhar Venkatachalam

    With close to 10 years on Experience in data science and machine learning Have extensively worked on programming languages like R, Python (Pandas), SAS, Pyspark.