multiplot | R Documentation |

Plot the coefficients from multiple models

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

`link{coefplot}`

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.