Description Usage Arguments Details Value See Also Examples

Plot the coefficients from multiple models

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | ```
multiplot(
...,
title = "Coefficient Plot",
xlab = "Value",
ylab = "Coefficient",
innerCI = 1,
outerCI = 2,
lwdInner = 1,
lwdOuter = (Sys.info()["sysname"] != "Windows") * 0.5,
pointSize = 3,
dodgeHeight = 1,
color = "blue",
shape = 16,
linetype = 1,
cex = 0.8,
textAngle = 0,
numberAngle = 90,
zeroColor = "grey",
zeroLWD = 1,
zeroType = 2,
single = TRUE,
scales = "fixed",
ncol = length(unique(modelCI$Model)),
sort = c("natural", "normal", "magnitude", "size", "alphabetical"),
decreasing = FALSE,
names = NULL,
numeric = FALSE,
fillColor = "grey",
alpha = 1/2,
horizontal = FALSE,
factors = NULL,
only = NULL,
shorten = TRUE,
intercept = TRUE,
interceptName = "(Intercept)",
coefficients = NULL,
predictors = NULL,
strict = FALSE,
newNames = NULL,
plot = TRUE,
drop = FALSE,
by = c("Coefficient", "Model"),
plot.shapes = FALSE,
plot.linetypes = FALSE,
legend.position = c("bottom", "right", "left", "top", "none"),
secret.weapon = FALSE,
legend.reverse = FALSE,
trans = identity
)
``` |

`...` |
Models to be plotted |

`title` |
The name of the plot, if NULL then no name is given |

`xlab` |
The x label |

`ylab` |
The y label |

`innerCI` |
How wide the inner confidence interval should be, normally 1 standard deviation. If 0, then there will be no inner confidence interval. |

`outerCI` |
How wide the outer confidence interval should be, normally 2 standard deviations. If 0, then there will be no outer confidence interval. |

`lwdInner` |
The thickness of the inner confidence interval |

`lwdOuter` |
The thickness of the outer confidence interval |

`pointSize` |
Size of coefficient point |

`dodgeHeight` |
Amount of vertical dodging |

`color` |
The color of the points and lines |

`shape` |
The shape of the points |

`linetype` |
The type of line drawn for the standard errors |

`cex` |
The text size multiplier, currently not used |

`textAngle` |
The angle for the coefficient labels, 0 is horizontal |

`numberAngle` |
The angle for the value labels, 0 is horizontal |

`zeroColor` |
The color of the line indicating 0 |

`zeroLWD` |
The thickness of the 0 line |

`zeroType` |
The type of 0 line, 0 will mean no line |

`single` |
logical; If TRUE there will be one plot with the points and bars stacked, otherwise the models will be displayed in separate facets |

`scales` |
The way the axes should be treated in a faceted plot. Can be c("fixed", "free", "free_x", "free_y") |

`ncol` |
The number of columns that the models should be plotted in |

`sort` |
Determines the sort order of the coefficients. Possible values are c("natural", "magnitude", "alphabetical") |

`decreasing` |
logical; Whether the coefficients should be ascending or descending |

`names` |
Names for models, if NULL then they will be named after their inputs |

`numeric` |
logical; If true and factors has exactly one value, then it is displayed in a horizontal graph with continuous confidence bounds. |

`fillColor` |
The color of the confidence bounds for a numeric factor |

`alpha` |
The transparency level of the numeric factor's confidence bound |

`horizontal` |
logical; If the plot should be displayed horizontally |

`factors` |
Vector of factor variables that will be the only ones shown |

`only` |
logical; If factors has a value this determines how interactions are treated. True means just that variable will be shown and not its interactions. False means interactions will be included. |

`shorten` |
logical or character; If |

`intercept` |
logical; Whether the Intercept coefficient should be plotted |

`interceptName` |
Specifies name of intercept it case it is not the default of "(Intercept"). |

`coefficients` |
A character vector specifying which factor coefficients to keep. It will keep all levels and any interactions, even if those are not listed. |

`predictors` |
A character vector specifying which coefficients to keep. Each individual coefficient can be specified. Use predictors to specify entire factors |

`strict` |
If TRUE then predictors will only be matched to its own coefficients, not its interactions |

`newNames` |
Named character vector of new names for coefficients |

`plot` |
logical; If the plot should be drawn, if false then a data.frame of the values will be returned |

`drop` |
logical; if TRUE then models without valid coefficients to show will not be plotted |

`by` |
If "Coefficient" then a normal multiplot is plotted, if "Model" then the coefficients are plotted along the axis with one for each model. If plotting by model only one coefficient at a time can be selected. This is called the secret weapon by Andy Gelman. |

`plot.shapes` |
If |

`plot.linetypes` |
If |

`legend.position` |
position of legend, one of "left", "right", "bottom", "top", "none" |

`secret.weapon` |
If this is |

`legend.reverse` |
Setting to reverse the legend in a multiplot so that it matches the order they are drawn in the plot |

`trans` |
A transformation function to apply to the values and confidence intervals. |

Plots a graph similar to `coefplot`

but for multiple plots at once.

For now, if `names`

is provided the plots will appear in alphabetical order of the names. This will be adjusted in future iterations. When setting `by`

to "Model" and specifying exactly one variable in `variables`

that one coefficient will be plotted repeatedly with the axis labeled by model. This is Andy Gelman's secret weapon.

A ggplot object

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ```
data(diamonds)
model1 <- lm(price ~ carat + cut, data=diamonds)
model2 <- lm(price ~ carat + cut + color, data=diamonds)
model3 <- lm(price ~ carat + color, data=diamonds)
multiplot(model1, model2, model3)
multiplot(model1, model2, model3, single=FALSE)
multiplot(model1, model2, model3, plot=FALSE)
require(reshape2)
data(tips, package="reshape2")
mod1 <- lm(tip ~ total_bill + sex, data=tips)
mod2 <- lm(tip ~ total_bill * sex, data=tips)
mod3 <- lm(tip ~ total_bill * sex * day, data=tips)
mod7 <- lm(tip ~ total_bill + day + time, data=tips)
multiplot(mod1, mod2, mod3, mod7, single=FALSE, scales="free_x")
multiplot(mod1, mod2, mod3, mod7, single=FALSE, scales="free_x")
multiplot(mod1, mod2, mod3, mod7, single=FALSE, scales="free_x", plot.shapes=TRUE)
multiplot(mod1, mod2, mod3, mod7, single=TRUE, scales="free_x",
plot.shapes=TRUE, plot.linetypes=TRUE)
multiplot(mod1, mod2, mod3, mod7, single=TRUE, scales="free_x",
plot.shapes=FALSE, plot.linetypes=TRUE, legend.position="bottom")
# the secret weapon
multiplot(mod1, mod2, mod3, mod7, coefficients="total_bill", secret.weapon=TRUE)
# horizontal secret weapon
multiplot(mod1, mod2, mod3, mod7, coefficients="total_bill", by="Model", horizontal=FALSE)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.