Add mean value in Boxplots in R with examples
Add mean value in Boxplots in R, To create a boxplot with a mean value in R, use the following methods:
Approach 1: Make use of R.
Let’s create boxplots with the following code
boxplot(df$values~df$group)
Then we can calculate the mean value by group
means <- tapply(df$values, df$group, mean)
Finally, add means as circles to each boxplot
points(means, pch=20)
Approach 2: Use ggplot2
library(ggplot2)
Create boxplots with mean values represented as circles.
ggplot(df, aes(x=group, y=values, fill=group)) + geom_boxplot() + stat_summary(fun=mean, geom='point', shape=20)
Add mean value in Boxplots in R
With the following data frame in R, the following examples explain how to utilize each method in practice:
Let’s create a data frame
df <- data.frame(team=rep(c('P1', 'P2', 'P3'), each=5), points=c(12, 14, 5, 16, 18, 7, 16, 18, 19, 12, 11, 22, 23, 26, 8))
Let’s view the rows of the data frame
head(df)
team points 1 P1 12 2 P1 14 3 P1 5 4 P1 16 5 P1 18 6 P2 7
Example 1: In Base R, make boxplots with mean values.
The following R code demonstrates how to make boxplots with mean values:
Let’s create boxplots.
How to perform the MANOVA test in R?
boxplot(df$points~df$team)
Now we can calculate the mean value by group
means <- tapply(df$points, df$team, mean)
Let’s add means as circles to each boxplot
points(means, pch=20, cex=1.5)
The median value is shown by the black lines inside each boxplot, whereas the mean value is represented by the black circles inside each boxplot.
Change the cex argument’s value to change the circle’s size.
Example 2: In ggplot2, make boxplots with mean values.
In ggplot2, the following code explains how to make boxplots with mean values.
library(ggplot2)
Now we can create boxplots with mean values.
How to Add p-values onto ggplot »
ggplot(df, aes(x=team, y=points, fill=team)) + geom_boxplot() + stat_summary(fun=mean, geom='point', shape=20, size=8) + theme(legend.position='none')
The median value is shown by the black lines inside each boxplot, whereas the mean value is represented by the black circles inside each boxplot.
To adjust the circle size, change the value for the size argument in the stat summary() function.