engine = "marginaleffects" was removed from test_predictions(). Full
support for the {marginaleffects} package is now available in the {modelbased}
package from the easystats-projects. Consequently, the johnson_neyman()
function was also removed. This decision was mainly to reduce maintainance
burden. For marginal means, contrasts and comparisons, as well as marginal
effects (slopes), the ggeffects package will be superseded by the modelbased
package. For predictions, simulated responses, or emmeans-support, support
in ggeffects will be continued in the future, however, almost all functionality
is or will be available in the modelbased package, too.test_predictions() and jonhson_neyman() have been largely
revised, due to breaking changes in the marginaleffects package. The two
functions will now internally call modelbased::estimate_contrasts() and
modelbased::estimate_slopes(), to reduce maintanance load. Thus, some
features have changed or are probably no longer / not yet available.The terms argument can now include up to five focal terms (formerly: four).
Accordingly, the plot() method was revised. For four focal terms, a facet
grid is used to plot all relevant panels. For five focal terms, multiple
plots with facet grids are arranged using the patchwork package.
values_at() gains a new "threenum" option.
The test argument is test_predictions() can now also be a formula to
calculate consecutive contrasts, contrasts against the reference level or
against the "average" factor level.
The way how type = "random" works has been revised. type = "random" no
longer returns predictions intervals. Instead, use interval = "prediction".
type = "random" is now mainly responsible for unit-level predictions in
mixed models, as opposed to type = "fixed", which should be used for
population-level predictions. The separation from type = "random" and
the interval argument makes the handling for mixed models easier, more
intuitive and consistent. Accordingly, the vignette regarding the introduction
into mixed models with ggeffects has been largely revised.
The vcov_fun and vcov_type argument were removed and are now replaced
by the single vcov argument, to be in line with the handling of
heteroscedasticity-consistent standard errors in other packages (mainly:
easystats eco-system).
The deprecated arguments for ggpredict(), vcov(), ggeffect() and
ggemmeans() have been removed.
The deprecated arguments for the plot() method have been removed.
Options type = "random" and type = "zi_random" are not longer available
for ggemmeans(). These were only responsible to set prediction intervals,
which can be done with interval = "prediction" now.
Added a get_preditions() method, which can be used to implement own S3-classes
to add support for new models to ggeffects. There is a corresponding
vignette, too.
The plot() method gets a dot_shape argument, to change the shape of data
points when show_data = TRUE.
test_predictions gains a test_args argument, to optionally pass further
options to test for emmeans engine/options.
vcov() returns a more informative warning, when the variance-covariance
matrix could not be extracted due to problems in creating the model matrix
(which prevents confidence intervals from being calculated).
Added Okabe-Ito color scale to the available color ggeffects-palettes.
For models of class survreg, argument type can also be "quantile".
Fixed issue with argument condition for ggaverage().
Fixed issues with missing confidence intervals for objects of class averaging.
The deprecated argument ppd was removed.
Some of the deprecated arguments in plot() were removed.
Pooling functions now use the model's degrees of freedom to calculate the critical values for the confidence intervals.
test = "slope" (or test = "trend") are aliases in test_predictions() for
test = NULL with numeric predictors.
predict_response() (and ggpredict(), ggemmeans() and ggeffect()) get
an argument bias_correction, to correct for bias when back-transforming
predictions for non-Gaussian mixed models.
glm_weightit, ordinal_weightit,
multinom_weightit from package WeightIt.Fixed issues for multivariate response models due changes in the last insight package updates.
Fixed issue with swapped lower and higher confidence interval values for models with inverse-link.
Fixed CRAN check issues due to breaking changes in the last marginaleffects update.
ci.lvl in test_predictions() was removed.ggpredict() now supports models of class glmgee (package glmtoolbox).
ggemmeans() gains arguments vcov_fun, vcov_type and vcov_args to
specify the variance-covariance matrix for the marginal means, similar to
what is already available in ggpredict() and ggaverage().
When test = "contrast", the engine is automatically set to "emmeans"
in test_predictions().
ggaverage() (or predict_response(..., margin = "empirical")) now also
supports following type options for zero-inflated models: "zi_prob",
"zero_inflated" and "fixed".
Support for zero-inflated models was massively improved in test_predictions(),
which, for instance, now also supports scale = "zprob" to calculate contrasts
for the zero-inflation probability for zero-inflated models from glmmTMB or
pscl. Furthermore, when predictions for zero-inflation probabilities were
calculated using pr <- predict_response(..., type = "zi_prob"), corresponding
contrasts will be calculated with test_predictions(pr) automatically.
Additionally, other types for models with zero-inflation component
("zero_inflated", "fixed") are supported as well.
ggeffect() now warns the user about arguments that are supported by
ggpredict() or ggemmeans(), but not by this function (e.g., vcov_fun).
Improved accuracy of standard errors for test_predictions(..., engine = "ggeffects").
The terms argument now also accepts the shortcut "percentile" (plus numeric
value) to select a range of percentiles for continuous variables, e.g.
terms = "x [percentile90]" to select a range of the 90% percentile.
Fixed issue with brms models with monotonic effects in formula (mo()).
Fixed issue in vcov() for ggeffects objects, which could occur in rare
situations when some of the predictors were character vectors.
Fixed issue with calculation of standard errors when one of the focal term was a character vector.
Fixed issue in plot() method with show_data = TRUE, where in certain
situations the raw data points were not colored when groups were present.
Fixed issue in plot() with too many data points when collapsing random
effects groups.
ggpredict() now works for models of class clm2 from package ordinal,
however, confidence intervals are not yet supported for these models.
ggeffect() now passes the latent argument for models with ordinal outcome
down to effects::Effect(), to plot effects for ordinal models on the latent
scale.
When argument test in test_predictions() is "interaction",
"consecutive", or a data frame, emmeans is automatically used as backend,
as this is the relevant package that supports these argument types.
format() (and hence, print()) for test_predictions() gains a
combine_levels argument, to combine levels of the focal term in the output
table.
The engine argument in test_predictions() can now also be "ggeffects".
However, this is currently work-in-progress and offers muss less options as the
default engine, "marginaleffects". It can be faster in some cases, though,
and works for comparing predicted random effects in mixed models.
test_predictions() now automatically falls back to engines "emmeans" or
"ggeffects" if the marginaleffects (or emmeans) package is not installed.
predict_response(), test_predictions() and ggpredict() will warn the user
when all focal terms are only included as random effects in the model and no
appropriate type or margin is specified. This is to avoid meaningless
results.
plot() gets an n_rows argument, to define the number of rows for the
panel alignment. This is useful when the number of facets is large and the
default alignment is not optimal.
The ppd argument for Bayesian models will be superseded by the interval
argument, i.e. ppd = TRUE is equivalent to interval = "prediction" (and
ppd = FALSE is equivalent to interval = "confidence").
When back_transform = FALSE, and model has a transformed response variable,
the plot() method for ggeffects objects now rescales the raw data points.
This ensures that the raw data points are plotted on the same scale as the
predicted values when show_data = TRUE.
Minor revisions of documentation and vignettes, to improve readability and clarity.
Several arguments have been deprecated and replaced by new argument names. A warning is printed when deprecated arguments are used. The deprecated arguments will be removed in a future release.
Fixed issue in print() for ggeffect() and models with ordinal outcome,
where one column was too much in the output.
Fixed issue in test_predictions() with wrong order of term labels when
a focal term was a character vector.
Fixed issue in ggpredict() with wbm models from package panelr.
Fixed issue in ggemmeans() for glmmTMB models with zero-inflation, when
terms included variables that were specified in the conditional, but not
in the zero-inflation model formula.
Fixed issue in ggpredict() for Stan models (from packages rstanarm and brms)
where the ci_level argument was not correctly recognized.
Fixed CRAN check issues due to latest marginaleffects update.
ggemmeans() (and hence, predict_response(..., margin = "marginalmeans"))
now supports type = "zi_prob" for zero-inflated models from package glmmTMB,
i.e. can now predict the zero-inflation probability.
test_predictions() and ggaverage() were updated to work with the latest
release of the marginaleffects package. That release fixed issues with
inaccurate standard errors for glmmTMB models.
test_predictions() gains a margin argument, to indicate how to marginalize
over non-focal terms. This ensures that estimates of pairwise comparisons are
in line with estimates of predictions.
test_predictions() gains an engine argument, to indicate which package to
use to compute pairwise comparisons or contrasts. By default, the marginaleffects
package is used, but you can also use the emmeans package.
ggeffect() when representative values for a focal term included
a zero, e.g. terms = "focal [0,3,5]".Overhaul of the documentation (again), to provide more clarity about the terminology "adjusted predictions", "marginal means" and "marginal effects", and how to calculate each of these quantities using the ggeffects package.
print_html() methods were updated to work with the latest release of
tinytable.
New print_md() method, to print the output as markdown table. This is useful
inside RMarkdown or Quarto documents, where the output can be directly included.
predict_response() as "generic" high-level function, which is a replacement
for ggpredict(), ggemmeans() and ggaverage(). The new function is more
clear about how the function marginalizes over non-focal terms. The margin
argument can be used to specify how to marginalize over non-focal terms, i.e.
which function internally is used to compute the marginal effects.The documentation was revised, to provide more clarity about what the package functions do and how to decide, which function or method to calculate marginal effects is the most appropriate.
Improved calculation of prediction intervals for Poisson regression models.
Improved handling of the vcov_fun argument. This argument now accepts an
estimation type as string, e.g. vcov_fun = "HC0", which is then used to
compute the variance-covariance matrix. Thus, it is no longer necessary to
define both vcov_fun and vcov_type, if the variance-covariance matrix is
covered by one of the pre-defined estimation types. See ?ggpredict for
details.
hypothesis_test() now also accepts the vcov_fun argument, and not only
vcov. This ensures consistency with the vcov_fun argument in ggpredict().
Furthermore, the information about the type of variance-covariance matrix
is saved to the ggeffects object returned by ggpredict(), predict_response()
etc., and if this information is available, it is automatically used in
hypothesis_test() when a ggeffects object is passed to the function.
Fixed bug in wrong order of printed (sub-)tables for predictions.
Fixed wrong table column name for confidence interval columns for other
confidence levels than the default 95% in print() for ggeffects objects.
Fixed issue with ggpredict() for models of class fixest when the cluster
variable was numeric.
print() method has been revised. A format() method was added, which
allows to format the output of ggpredict() (and ggeffect() etc.) for
printing. The refactoring of the print() method makes the code base easier
to maintain and it is easier to enhance the print-functionality. Now it is
possible to create HTML tables as well, using print_html(). The style of the
output has also slightly changed. By default, confidence intervals are no
longer enclosed in parentheses. You can change this behaviour by passing the
ci_brackets argument to print() (see examples), or permanently define custom
parentheses or brackets with, e.g., options(ggeffects_ci_brackets = c("[", "]")).
Additionally, there are new arguments to further control the output of the
tables: collapse_ci can be used to collapse confidence intervals into a
single column together with the predicted values. collapse_tables can be used
to collapse multiple tables into a single table (only applies when there is
more than one focal term). Again, these settings can be permanently defined
via options (see ?print.ggeffects for details).print_html(), to print the output as HTML table. This method is available
for objects from ggpredict() (and alike) as well as hypothesis_test().ggpredict() for models of class vglm with multivariate
responses.ggpredict() now supports models of class rqs from package quantreg.
Fixed issues to be compatible with forthcoming update of emmeans.
ggaverage(), to compute average predicted values. This function is based on
marginaleffects::avg_predictons().
pool_comparisons(), to pool results from multiple calls to hypothesis_test(),
e.g. with imputed data sets.
Support for sdmTMB (sdmTMB) models.
Improved support for the logistf package, including models flic() and
flac().
Confidence intervals for predictions from merMod models (package lme4)
now use the standard errors returned by predict(..., se.fit = TRUE). This
should not affect numerical results, but can be more robust for certain edge
cases. Note that standard errors are only based on predict() when
tpye = "fixed". For type = "random", standard errors are still based on
the model's variance-covariance matrix, taking uncertainty from random
effects into account.
hypothesis_test() now suppports models from package parsnip.
johnson_neyman() gains a p_adjust argument, to adjust p-values for multiple
comparisons. Currently, only p_adjust = "esarey" (resp. p_adjust = "es") and
p_adjust = "fdr" (resp. p_adjust = "bh") are supported.
ggpredict() now computes appropriate predicted probabilites for models
of class rms::lrm() with ordinal outcome.
Fixed issue in ggpredict() for type = "random" when sampling from random
effects levels, where the levels were numeric characters with a pattern like
"001", "002", etc.
Fixed minor issue in plot.ggalleffects().
... arguments in ggpredict() are now passed down to the predict() method
for mgcv::gam() models.
The typical argument now supports a mix of functions for different variable
types at which numeric or categorical covariates (non-focal terms) are held
constant.
Clarification of how the re.form argument is set when using type = "random"
resp. type = "fixed" in ggpredict().
hypothesis_test() now returns the standard error of contrasts or pairwise
comparisons as attribute standard_error. This can be used to compute the
test-statistic, if required. In forthcoming updates, there will be methods
for insight::get_statistic() and parameters::model_parameters() to include
standard errors and test-statistics in the output.
test_predictions() was added as an alias for hypothesis_test().
hypothesis_test() for mixed models, which sometimes failed
when random effects group variables were numeric, and not factors.johnson_neyman(), to create Johnson-Neyman intervals and plots from
ggeffects objects.Better automatic handling of offset-terms, both for predictions and generating
plots with raw data. When the model formula contains an offset-term, and the
offset term is fixed at a specific value, the response variable is now
automatically transformed back to the original scale, and the offset-term is
added to the predicted values. A warning is printed when model contains
transformed offset-terms that are not fixed, e.g. via the condition argument.
ggeffect() now supports nestedLogit models.
Fixed issue in hypothesis_test(), where the by argument did not work
together with the collapse_levels argument.
Fixed issue in plot() method when adding raw data points for data frame
that had now row names.
jitter
argument that is used to add some noice to data points to avoid overlapping
now defaults to NULL. Formerly, a small jitter was added by default,
leading to confusion when data points did not match the original data.The plot() method gets a label.data argument, to add row names to data
points when add.data = TRUE.
tibbles are always converted into data frames, to avoid issues.
hypothesis_test() gains a by argument, to specify a variable that is used
to group the comparisons or contrasts. This is useful for models with interaction
terms.
Plotting residuals did not work when model object passed to ggpredict()
were inside a list, or when called from inside functions (scoping issues).
Fixed issue where plotting raw data (i.e. plot(..., add.data = TRUE)) did
not work when there were missing data in weight variables (i.e. when the
regression model used weights).
Fixes issue in plot() when no term was specified in the call to ggpredict().
Fixed issues with robust estimation for models of package pscl.
Fixed issues introduced by breaking changes in marginaleffects.
Support for nestedLogit (nestedLogit) models.
hyothesis_test() gains a scale argument, to explicitely modulate the scale
of the contrasts or comparisons (e.g. "response" or "link", or "exp" to
return transformed contrasts/comparisons).
hyothesis_test() now includes the response level for models with ordinal
outcomes (and alike).
When ggpredict() is used inside functions and a name for a vector variable
(passed as argument to that function) in terms is used, the variable is
now correctly recognized.
Partial residuals (when plot(..., residuals = TRUE)) now supports more
linear (mixed) models, including models from package lme (such as gls()
or lme()).
For mixed models, type = "random" used to calculate prediction intervals
that always accounted for random effects variances, leading to larger intervals.
Using interval = "confidence" together with type = "random" now allows to
calculate "usual" confidence intervals for random effects. This is usefule for
predictions at specific group levels of random effects (when focal terms are
only fixed effects, use type = "fixed" for regular confidence intervals).
The vcov.fun argument can now also be a function that returns a
variance-covariance matrix.
The verbose argument in ggpredict() and hypothesis_test() now also toggle
messages for the respective print() methods.
The print() method for hypothesis_test() has been revised and now provides
more details for possible transformation of the scale of comparisons and
contrasts.
The print() method now shows all rows by default when the focal term is
a factor. If rows are not shown in the output, a message is printed to inform
the user about truncated output.
A new vignette about using ggeffects in the context of an intersectional multilevel analysis of individual heterogeneity, using the MAIHDA framework.
Fixed issue with wrong order of x-axis-labels for plots when the focal term on the x-axis was a character vector, where alphabetical order of values did not match order of predictions.
Fixed issues in hyothesis_test() for models with ordinal outcomes (and alike).
Added a new [.ggeffects function, which allows to subset ggeffects objects
in the same way as regular data frames, i.e. it is now possible to do:
gge <- ggpredict(model, "x1")
gge[c(1:2)]
Using a name for a vector variable in terms now works from inside functions.
E.g., you can now do:
foo <- function(data) {
fit <- lm(barthtot ~ c12hour + c172code, data = data)
v <- c(20, 50, 70)
ggpredict(fit, terms = "c12hour [v]")
}
foo(efc)
The colors argument in plot() can now also be applied to single-colored
plots.
hyothesis_test() gains a collapse_level argument, to collapse term labels
that refer to the same levels into a singel unique level string.
Fixed issue with misplaced residuals when x-axis was categorical and the factor levels were not in alphabetical order.
pool_predictions() now correctly handles models with transformed response
variables (like log(y)) and returns the correct back-transformed pooled
predictions (and their confidence intervals).
Fixed issue with wrong computation of confidence intervals for models of class
clm from package ordinal.
Fixed failing tests due to changes in the logistf package, which now also
supports emmeans. That means, ggemmeans() now also works for models from
package logistf.
Fixed bug in plot() when partial residuals were added (i.e. residuals = TRUE)
and collapse.group was provided (in case of mixed models).
Fixed issue with on-the-fly created factors inside formulas, which were not
correctly treated as factors in the plot() method. This bug was related to
recent changes in insight::get_data().
Fixed issue with wrong labels in hyothesis_test() for comparisons with many
rows, when betas starting with same digit were specified (e.g.
test = "(b1-b13)=(b3-b15)").
Fixed issue in hyothesis_test() for mixed models when focal terms included
factors with factor levels that contained a comma.
Fixed issue with missing confidence intervals for mixed models when one of
the variable names contains white space characters (e.g. y ~ 'x a' + xb).
mblogit (mclogit), phylolm and phyloglm (phylolm) models.hypothesis_test() gains an equivalence argument, to compute tests of
practical equivalence for contrasts and comparisons.
The message whether contrasts or comparisons from hypothesis_test() are on
the link-scale is now printed below the table.
Dot arguments (...) in hypothesis_test() are now passed to the functions
in marginaleffects, thereby allowing to use further options in functions
marginaleffects::predictions(), like transform etc.
hypothesis_test() for mixed models with one focal term only,
and when this term was categorical.hypothesis_test(), to compute contrasts and comparisons of predictions and
test differences for statistical significance. Additionally, an accompanying
vignette that explains the new function in detail is added.
install_latest(), to install the latest official package version from
CRAN, or the latest development version from r-universe.
An as.data.frame() method was added, which converts ggeffects objects
returned by ggpredict() into data frame, where standard column names are
replaced by their related variable names.
Response values are now also back-transformed when these were transformed
using log2(), log10() or log1p().
The terms argument can now also be a named list. Thus, instead of
terms = c("score [30,50,70]", "status [low, middle]") one could also write
terms = list(score = c(30,50,70), status = c("low", "middle")).
Minor changes to meet forthcoming update of insight.
ggpredict() or ggemmeans() get a verbose argument to suppress some
messages and warnings when calling
logitr (package logitr)Fixed issue with wrong standard errors for predicting random effect groups for more multiple levels.
Fixed issue in ggemmeans(), which did not correctly averaged over character
vectors when these were hold constant.
Fixed bug for models of class lme when type = "re" was requested.
Fix wrong computations of predictions for arm::bayesglm() models.
Fix CRAN check issues.
Speed improvement for some models when calculating uncertainty intervals of predictions.
Minor fixes.
mo() with
numeric predictors, which only allow to predict for values that are actually
present in the data.Fixed issue with adding raw data points for plots from logistic regression models, when the response variable was no factor with numeric levels.
Fixed issues with CRAN checks.
orm (package rms)Prediction intervals (where possible, or when type = "random"), are now
always based on sigma^2 (i.e. insight::get_sigma(model)^2). This is in
line with interval = "prediction" for lm, or for predictions based on
simulations (when type = "simulate").
print() now uses the name of the focal variable as column name (instead)
of "x").
collapse_by_group(), to generate a data frame where the response value of
the raw data is averaged over the levels of a (random effect) grouping factor.A new vignette was added related to the definition and meaning of "marginal effects" and "adjusted predictions". To be more strict and to avoid confusion with the term "marginal effect", which meaning may vary across fields, either "marginal effects" was replaced by "adjusted predictions", or "adjusted predictions" was added as term throughout the package's documentation and vignettes.
Allow confidence intervals when predictions are conditioned on random effect
groups (i.e. when type = "random" and terms includes a random effect
group factor).
Predicted response values based on simulate() (i.e. when
type = "simulate") is now possible for more model classes
(see ?ggpredict).
ggpredict() now computes confidence intervals for some edge cases where
it previously failed (e.g. some models that do not compute standard errors
for predictions, and where a factor was included in the model and not the
focal term).
plot() gains a collapse.group argument, which - in conjunction with
add.data - averages ("collapses") the raw data by the levels of the
group factors (random effects).
data_grid() was added as more common alias for new_data().
ggpredict() and plot() for survival-models now always start with time = 1.
Fixed issue in print() for survival-models.
Fixed issue with type = "simulate" for glmmTMB models.
Fixed issue with gamlss models that had random() function in the
model formula.
Fixed issue with incorrect back-transformation of predictions for
geeglm models.
residuals.type argument in plot() is deprecated. Always using "working" residuals.pretty_range() and values_at() can now also be used as function factories.
plot() gains a limit.range argument, to limit the range of the prediction bands to the range of the data.
Fixed issue with unnecessary back-transformation of log-transformed offset-terms from glmmTMB models.
Fixed issues with plotting raw data when predictor on x-axis was a character vector.
Fixed issues from CRAN checks.
interval to ggemmeans(), to either compute confidence or prediction intervals.averaging (package MuMIn)pool_predictions(), to pool multiple ggeffects objects. This can be used when predicted values or estimated marginal means are calculated for models fit to multiple imputed datasets.residualize_over_grid() is now exported.log1p() and log(mu + x).type = "random" or "zi_random"), but random effects variances could not be calculated or were almost zero.multinom models in ggemmeans().ggemmeans() for models from nlme.plot() for some models in ggeffect().terms = "predictor [exp]" is no longer necessary.mlogit (package mlogit)plot() now can also create partial residuals plots. There, arguments residuals, residuals.type and residuals.line were added to add partial residuals, the type of residuals and a possible loess-fit regression line for the residual data.glm since some time. Should be fixed now.ggpredict() and rlmerMods models when using factors as adjusted terms.mclogit (package mclogit)ggeffect().ggpredict() gets a new type-option, "zi.prob", to predict the zero-inflation probability (for models from pscl, glmmTMB and GLMMadaptive).add.data = TRUE in plot(), the raw data points are also transformed accordingly.plot() with add.data = TRUE first adds the layer with raw data, then the points / lines for the marginal effects, so raw data points to not overlay the predicted values.terms-argument now also accepts the name of a variable to define specific values. See vignette Marginal Effects at Specific Values.vcov.type was not specified.type-argument.1.offset() terms.mixor (package mixor), cgam, cgamm (package cgam)x.as.factor is considered as less useful and was removed.fixest (package fixest), glmx (package glmx).plot(rawdata = TRUE) now also works for objects from ggemmeans().ggpredict() now computes confidence intervals for predictions from geeglm models.trials() as response variable, ggpredict() used to choose the median value of trials were the response was hold constant. Now, you can use the condition-argument to hold the number of trials constant at different values.print().clmm-models, when group factor in random effects was numeric.emm() is discouraged, and so it was removed.bracl, brmultinom (package brglm2) and models from packages bamlss and R2BayesX.plot() now uses dodge-position for raw data for categorical x-axis, to align raw data points with points and error bars geoms from predictions.show_pals()).vcov() function to calculate variance-covariance matrix for marginal effects.ggemmeans() now also accepts type = "re" and type = "re.zi", to add random effects variances to prediction intervals for mixed models.... is now passed down to the predict()-method for gamlss-objects, so predictions can be computed for sigma, nu and tau as well.ggeffect(), when one term was a character vector.ggaverage() is discouraged, and so it was removed.rprs_values() is now deprecated, the function is named values_at(), and its alias is representative_values().x.as.factor-argument defaults to TRUE.ggpredict() now supports cumulative link and ordinal vglm models from package VGAM.terms included random effects.add.data is an alias for the rawdata-argument in plot().ggpredict() and ggemmeans() now also support predictions for gam models from ziplss family.print()-method for ordinal or cumulative link models.plot()-method no longer changes the order of factor levels for groups and facets.pretty_data() gets a length() argument to define the length of intervals to be returned.values_at() is an alias for rprs_values().betabin, negbin (package aod), wbm (package panelr)ggpredict() now supports prediction intervals for models from MCMCglmm.ggpredict() gets a back.transform-argument, to tranform predicted values from log-transformed responses back to their original scale (the default behaviour), or to allow predictions to remain on log-scale (new).ggpredict() and ggemmeans() now can calculate marginal effects for specific values from up to three terms (i.e. terms can be of lenght four now).ci.style-argument from plot() now also applies to error bars for categorical variables on the x-axis.gamlss, geeglm (package geepack), lmrob and glmrob (package robustbase), ols (package rms), rlmer (package robustlmm), rq and rqss (package quantreg), tobit (package AER), survreg (package survival)terms = "predictor [1:10]") can now be changed with by, e.g. terms = "predictor [1:10 by=.5]" (see also vignette Marginal Effects at Specific Values).vcov.fun in ggpredict()) now also works for following model-objects: coxph, plm, polr (and probably also lme and gls, not tested yet).ggpredict() gets an interval-argument, to compute prediction intervals instead of confidence intervals.plot.ggeffects() now allows different horizontal and vertical jittering for rawdata when jitter is a numeric vector of length two.AsIs-conversion from division of two variables as dependent variable, e.g. I(amount/frequency), now should work.ggpredict() failed for MixMod-objects when ci.lvl=NA.