Learn R Programming

ggplot2 (version 1.0.0)

geom_smooth: Add a smoothed conditional mean.

Description

Add a smoothed conditional mean.

Usage

geom_smooth(mapping = NULL, data = NULL, stat = "smooth",
  position = "identity", ...)

Arguments

mapping
The aesthetic mapping, usually constructed with aes or aes_string. Only needs to be set at the layer level if you are overriding the plot defaults.
data
A layer specific dataset - only needed if you want to override the plot defaults.
stat
The statistical transformation to use on the data for this layer.
position
The position adjustment to use for overlapping points on this layer
...
other arguments passed on to layer. This can include aesthetics whose values you want to set, not map. See layer for more details.

Aesthetics

[results=rd,stage=build]{ggplot2:::rd_aesthetics("geom", "smooth")} # See stat_smooth for examples of using built in model fitting # if you need some more flexible, this example shows you how to # plot the fits from any model of your choosing qplot(wt, mpg, data=mtcars, colour=factor(cyl))

model <- lm(mpg ~ wt + factor(cyl), data=mtcars) grid <- with(mtcars, expand.grid( wt = seq(min(wt), max(wt), length = 20), cyl = levels(factor(cyl)) ))

grid$mpg <- stats::predict(model, newdata=grid)

qplot(wt, mpg, data=mtcars, colour=factor(cyl)) + geom_line(data=grid)

# or with standard errors

err <- stats::predict(model, newdata=grid, se = TRUE) grid$ucl <- err$fit + 1.96 * err$se.fit grid$lcl <- err$fit - 1.96 * err$se.fit

qplot(wt, mpg, data=mtcars, colour=factor(cyl)) + geom_smooth(aes(ymin = lcl, ymax = ucl), data=grid, stat="identity")

The default stat for this geom is stat_smooth see that documentation for more options to control the underlying statistical transformation.