# 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.