Skip to content
Prev 333431 / 398506 Next

Overlay boxplot and scatter.smooth line

Same thing using ggplot...

# your data
x <- c(rep(1,100),rep(2,100),rep(3,100))
y <- c(rnorm(100,1),rnorm(100,2),rnorm(100,3))

df <- data.frame(x=x, y=y)

library(ggplot2)
ggp <- ggplot(df) + labs(x="X", y="Y") 
ggp <- ggp + geom_boxplot(aes(x=factor(x), y=y)) 
ggp <- ggp + geom_smooth(formula=y~x, aes(x=x, y=y), method="loess", se=F) 
ggp

Setting method="lm" above would plot linear model instead of loess, setting se=T (the default) would plot 95% CL for the model.

Adding the line:
ggp <- ggp +  stat_summary(fun.data="mean_cl_normal", aes(x=factor(x),y=y), size=1.2, color="red")
ggp

will overlay mean and 95% CL (assuming normal distribution of error) at each level of x. 

-----Original Message-----
From: Johannes Radinger [mailto:johannesradinger at gmail.com] 
Sent: Tuesday, November 19, 2013 10:01 AM
To: Adams, Jean
Cc: R help
Subject: Re: [R] Overlay boxplot and scatter.smooth line

Thanks...that works great!

/J
On Tue, Nov 19, 2013 at 2:39 PM, Adams, Jean <jvadams at usgs.gov> wrote: