Row wise Standard deviation – row Standard deviation in R dataframe

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

  • Row wise standard deviation of R dataframe using rowSds()
  • Row Standard deviation of the dataframe using apply() function.
  • Row wise Standard deviation of the dataframe using dplyr package.

row wise SD in R using rowSds() and SD() 22

 

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 standard deviation – row standard deviation in R dataframe 1

 

Row wise standard deviation of dataframe using rowSds()

Let’s calculate the row wise std dev in R using rowSds() function as shown below. rowSds() function takes up column 2 to 4 and finds row wise standard deviation value.

## row wise standard deviation using rowSds()


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

df1$row_std = rowSds(as.matrix(df1[,c(2,3,4)]))
df1

or

## row wise standard deviation using rowSds()

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

df1$row_std = rowSds(as.matrix(df1[,c(-1)]))
df1

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

 

 

Row wise standard deviation of dataframe using apply() function

Let’s calculate the row wise std dev in R 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 sd() function which calculates standard deviation values.  so here it performs row wise standard deviation.

### Row wise standard deviation using apply() function

df1$row_std = apply(df1[,-1], 1, sd)
df1

So the resultant dataframe will beRow wise standard deviation – row standard deviation in R dataframe 3

 

 

Row wise standard deviation of the dataframe using dplyr: Method 1

rowSds() 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 standard deviation is calculated using pipe (%>%) operator of the dplyr package.

##### Dplyr row wise standard dev
library(dplyr)
library(matrixStats)
df1 %>% replace(is.na(.), 0) %>% mutate(row_wise_standard_dev = rowSds(as.matrix(df1[,c(2,3,4)])))

So the resultant dataframe with row wise standard deviation calculated will be

Row wise standard deviation – row standard deviation in R dataframe 4

 

 

 

Row wise standard deviation of the dataframe using dplyr: Method 2

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

## row wise standard deviation using dplyr
 
library(dplyr)

df1 %>%
  rowwise() %>%
  mutate(
    standard_dev_price = sd(c(Mathematics1_score,Mathematics2_score,Science_score))
  )

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

Row wise standard deviation – row standard deviation in R dataframe 5

For more Details kindly refer to matrixStats package in R

 


Other Related Topics