| plot_models {sjPlot} | R Documentation |
Plot and compare regression coefficients with confidence intervals of multiple regression models in one plot.
plot_models(..., transform, std.est = NULL, rm.terms = NULL, title = NULL, m.labels = NULL, legend.title = "Dependent Variables", legend.pval.title = "p-level", axis.labels = NULL, axis.title = NULL, axis.lim = NULL, wrap.title = 50, wrap.labels = 25, wrap.legend.title = 20, grid.breaks = NULL, dot.size = 3, spacing = 0.4, colors = "Set1", show.values = FALSE, show.legend = TRUE, show.intercept = FALSE, show.p = TRUE, p.shape = FALSE, ci.lvl = 0.95, vline.color = NULL, digits = 2, grid = FALSE)
... |
One or more regression models, including glm's or mixed models.
May also be a |
transform |
A character vector, naming a function that will be applied
on estimates and confidence intervals. By default, |
std.est |
For linear models, choose whether standardized coefficients should be used for plotting. Default is no standardization.
|
rm.terms |
Character vector with names that indicate which terms should
be removed from the plot. Counterpart to |
title |
Character vector, used as plot title. By default,
|
m.labels |
Character vector, used to indicate the different models in the plot's legend. If not specified, the labels of the dependent variables for each model are used. |
legend.title |
Character vector, used as title for the plot legend. Note that
only some plot types have legends (e.g. |
legend.pval.title |
Character vector, used as title of the plot legend that
indicates the p-values. Default is |
axis.labels |
Character vector with labels for the model terms, used as
axis labels. By default, |
axis.title |
Character vector of length one or two (depending on the
plot function and type), used as title(s) for the x and y axis. If not
specified, a default labelling is chosen. Note: Some plot types
may not support this argument sufficiently. In such cases, use the returned
ggplot-object and add axis titles manually with
|
axis.lim |
Numeric vector of length 2, defining the range of the plot
axis. Depending on plot-type, may effect either x- or y-axis. For
Marginal Effects plots, |
wrap.title |
Numeric, determines how many chars of the plot title are displayed in one line and when a line break is inserted. |
wrap.labels |
Numeric, determines how many chars of the value, variable or axis labels are displayed in one line and when a line break is inserted. |
wrap.legend.title |
numeric, determines how many chars of the legend's title are displayed in one line and when a line break is inserted. |
grid.breaks |
Numeric; sets the distance between breaks for the axis,
i.e. at every |
dot.size |
Numeric, size of the dots that indicate the point estimates. |
spacing |
Numeric, spacing between the dots and error bars of the plotted fitted models. Default is 0.3. |
colors |
May be a character vector of color values in hex-format, valid
color value names (see
|
show.values |
Logical, whether values should be plotted or not. |
show.legend |
For Marginal Effects plots, shows or hides the legend. |
show.intercept |
Logical, if |
show.p |
Logical, adds asterisks that indicate the significance level of estimates to the value labels. |
p.shape |
Logical, if |
ci.lvl |
Numeric, the level of the confidence intervals (error bars).
Use |
vline.color |
Color of the vertical "zero effect" line. Default color is inherited from the current theme. |
digits |
Numeric, amount of digits after decimal point when rounding estimates or values. |
grid |
Logical, if |
A ggplot-object.
data(efc)
# fit three models
fit1 <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)
fit2 <- lm(neg_c_7 ~ c160age + c12hour + c161sex + c172code, data = efc)
fit3 <- lm(tot_sc_e ~ c160age + c12hour + c161sex + c172code, data = efc)
# plot multiple models
plot_models(fit1, fit2, fit3, grid = TRUE)
# plot multiple models with legend labels and
# point shapes instead of value labels
plot_models(
fit1, fit2, fit3,
axis.labels = c(
"Carer's Age", "Hours of Care", "Carer's Sex", "Educational Status"
),
m.labels = c("Barthel Index", "Negative Impact", "Services used"),
show.values = FALSE, show.p = FALSE, p.shape = TRUE
)
# plot multiple models from nested lists argument
all.models <- list()
all.models[[1]] <- fit1
all.models[[2]] <- fit2
all.models[[3]] <- fit3
plot_models(all.models)
# plot multiple models with different predictors (stepwise inclusion),
# standardized estimates
fit1 <- lm(mpg ~ wt + cyl + disp + gear, data = mtcars)
fit2 <- update(fit1, . ~ . + hp)
fit3 <- update(fit2, . ~ . + am)
plot_models(fit1, fit2, fit3, std.est = "std2")