Depending on the type
, this function plots coefficients (estimates)
of linear regressions (including panel models fitted with the plm
-function
from the plm-package and generalized least squares models fitted with
the gls
-function from the nlme-package) with confidence
intervals as dot plot (forest plot),
model assumptions for linear models or slopes and scatter plots for each single
coefficient. See type
for details.
sjp.lm(fit, type = "lm", vars = NULL, group.estimates = NULL, remove.estimates = NULL, sort.est = TRUE, poly.term = NULL, title = NULL, legend.title = NULL, axis.labels = NULL, axis.title = NULL, resp.label = NULL, geom.size = NULL, geom.colors = "Set1", wrap.title = 50, wrap.labels = 25, axis.lim = NULL, grid.breaks = NULL, show.values = TRUE, show.p = TRUE, show.ci = TRUE, show.legend = FALSE, show.loess = FALSE, show.loess.ci = FALSE, show.summary = FALSE, show.scatter = TRUE, point.alpha = 0.2, point.color = NULL, jitter.ci = FALSE, digits = 2, vline.type = 2, vline.color = "grey70", coord.flip = TRUE, y.offset = 0.15, facet.grid = TRUE, complete.dgns = FALSE, prnt.plot = TRUE, ...)
fit | Fitted linear regression model (of class |
---|---|
type | Type of plot. Use one of following:
|
vars | Numeric vector with column indices of selected variables or a character vector with
variable names of selected variables from the fitted model, which should be used to plot
- depending on |
group.estimates | Numeric or character vector, indicating a group identifier for each estimate. Dots and confidence intervals of estimates are coloured according to their group association. See 'Examples'. |
remove.estimates | Character vector with coefficient names that indicate
which estimates should be removed from the plot.
|
sort.est | Logical, determines whether estimates should be sorted according to their values.
If |
poly.term | name of a polynomial term in |
title | character vector, used as plot title. Depending on plot type and function,
will be set automatically. If |
legend.title | Character vector, used as title for the plot legend. Note that
only some plot types have legends (e.g. |
axis.labels | character vector with labels used as axis labels. Optional argument, since in most cases, axis labels are set automatically. |
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. To set multiple
axis titles (e.g. with |
resp.label | Name of dependent variable, as string. Only
used if fitted model has only one predictor and |
geom.size | size resp. width of the geoms (bar width, line thickness or point size, depending on plot type and function). Note that bar and bin widths mostly need smaller values than dot sizes. |
geom.colors | User defined color palette for geoms. If |
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. |
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, or both.
For multiple plot outputs (e.g., from |
grid.breaks | numeric; sets the distance between breaks for the axis,
i.e. at every |
show.values | Logical, whether values should be plotted or not. |
show.p | Logical, adds significance levels to values, or value and variable labels. |
show.ci | Logical, if |
show.legend | logical, if |
show.loess | logical, if |
show.loess.ci | logical, if |
show.summary | Logical, if |
show.scatter | Logical, if |
point.alpha | Alpha value of point-geoms in the scatter plots. Only applies,
if |
point.color | Color of of point-geoms in the scatter plots. Only applies,
if |
jitter.ci | Logical, if |
digits | Numeric, amount of digits after decimal point when rounding estimates and values. |
vline.type | Linetype of the vertical "zero point" line. Default is |
vline.color | Color of the vertical "zero point" line. Default value is |
coord.flip | logical, if |
y.offset | numeric, offset for text labels when their alignment is adjusted
to the top/bottom of the geom (see |
facet.grid |
|
complete.dgns | Logical, if |
prnt.plot | logical, if |
... | Other arguments passed down to further functions. Currently, following arguments are supported:
|
Depending on the type
, in most cases (insisibily)
returns the ggplot-object with the complete plot (plot
)
as well as the data frame that was used for setting up the
ggplot-object (df
). For type = "ma"
, an updated model
with removed outliers is returned.
type = "lm"
if fitted model only has one predictor, no
forest plot is shown. Instead, a regression line with confidence
interval (in blue) is plotted by default, and a loess-smoothed
line without confidence interval (in red) can be added if argument
show.loess = TRUE
.
type = "std2"
plots standardized beta values, however,
standardization follows Gelman's (2008) suggestion, rescaling the
estimates by dividing them by two standard deviations instead of
just one. Resulting coefficients are then directly comparable for
untransformed binary predictors. This standardization uses the
standardize
-function from the arm-package.
type = "slope"
regression lines (slopes) with confidence intervals for each single predictor of the fitted model are plotted, i.e. all predictors of the fitted model are extracted and for each of them, the linear relationship is plotted against the response variable. Other predictors are omitted, so this plot type is intended to check the linear relationship between a predictor and the response.
type = "resid"
is similar to the type = "slope"
option,
however, each predictor is plotted against the residuals
(instead of response).
type = "pred"
plots predicted values of the response, related
to specific model predictors. This plot type calls
predict(fit, newdata = model.frame, type = "response")
and requires the vars
argument to select specific terms that should be
used for the x-axis and - optional - as grouping factor. Hence,
vars
must be a character vector with the names of one or
two model predictors. See 'Examples'.
type = "eff"
computes the marginal effects for all predictors,
using the allEffects
function. I.e. for each
predictor, the predicted values towards the response are plotted, with
all remaining co-variates set to the mean. Due to possible different
scales of predictors, a faceted plot is printed (instead of plotting
all lines in one plot).
You can pass further arguments down to allEffects
for flexible
function call via the ...
-argument.
type = "poly"
plots the marginal effects of polynomial terms
in fit
, using the effect
function, but
only for a selected polynomial term, which is specified with poly.term
.
This function helps undertanding the effect of polynomial terms by
plotting the curvilinear relationships of response and quadratic, cubic etc.
terms. This function accepts following argument.
type = "ma"
checks model assumptions. Please note that only
three arguments are relevant: fit
and complete.dgns
.
All other arguments are ignored.
type = "vif"
Variance Inflation Factors (check for multicollinearity) are plotted. As a rule of thumb, values below 5 are considered as good and indicate no multicollinearity, values between 5 and 10 may be tolerable. Values greater than 10 are not acceptable and indicate multicollinearity between model's predictors.
Gelman A (2008) "Scaling regression inputs by dividing by two standard deviations." Statistics in Medicine 27: 2865–2873. http://www.stat.columbia.edu/~gelman/research/published/standardizing7.pdf
Hyndman RJ, Athanasopoulos G (2013) "Forecasting: principles and practice." OTexts; accessed from https://www.otexts.org/fpp/5/4.
sjPlot manual: sjp.lm for
more details and examples of this function; use sjp.poly
to see which polynomial degree fits best for possible polynomial terms.