Changelog
Source:NEWS.md
sjPlot 2.8.14
CRAN release: 2023-04-02
-
tab_model()
,plot_model()
andplot_models()
get astd.response
argument, to include or exclude the response variable from standardization.
sjPlot 2.8.8
CRAN release: 2021-05-25
Changes to functions
-
tab_model()
now works properly with forthcoming parameters update.
Bug fixes
-
plot_models()
did not work properly for Bayesian models.
sjPlot 2.8.7
CRAN release: 2021-01-10
Changes to functions
-
tab_model()
also gains anencoding
argument. -
tab_df()
andtab_dfs()
no longer set the argumentshow.rownames
toTRUE
. Therefore, both functions now use row numbers as row names, if no other rownames are present. -
tab_dfs()
also gains adigits
argument.
Bug fixes
- Argument
df.method
intab_model()
did not accept all available options that were documented. - Fix CRAN check issues (warnings in new R-devel).
sjPlot 2.8.6
CRAN release: 2020-10-28
Changes to functions
- When
dv.labels = ""
intab_model()
, the row with names of dependent variables is omitted.
Bug fixes
- Fix CRAN check issues (removed cross-references to archived packages).
- The
minus.sign
argument intab_model()
now works. -
show.std = TRUE
intab_model()
did not exponentiate standardized coefficients for non-Gaussian models.
sjPlot 2.8.5
CRAN release: 2020-09-24
Changes to functions
-
tab_model()
gains an argumentdf.method
, which will replace the less genericp.val
argument in the future. Currently,df.method
is an alias ofp.val
.
Bug fixes
- Fixed issue with wrong n’s in
plot_stackfrq()
when weights were applied. - Fixed issue
plot_stackfrq()
when weights were applied and items should be sorted. - Fixed issue in
plot_models()
for models without intercept. - Fixed issue for wrong legend labelling in
plot_models()
when showing p-stars. - Fixed issue in
plot_model()
withtype = "int"
in detecting interaction terms when these were partly in parenthesis (likea * (b + c)
). - Fixed issue in
tab_model()
with argumentsshow.stat = TRUE
andshow.std = TRUE
, where the related statistic and CI columns for standardized coefficients were not shown. - Fixed issue in
tab_model()
for brmsfit models that did no longer show random effects information after the last update from the performance package. - Fixed issue with argument
show.rownames
intab_df()
.
sjPlot 2.8.4
CRAN release: 2020-05-24
Changes to functions
- The robust estimation (argument
vcov.fun
intab_model()
orplot_model()
) now also uses and thus accepts estimation-types from package clubSandwich. -
tab_model()
now accepts all options forp.val
that are supported byparameters::model_parameters()
. - The
p.style
argument intab_model()
was slightly revised, and now also accepts"scientific"
as option for scientific notation of p-values. -
tab_model()
gets adigits.re
argument to define decimal part of the random effects summary. -
plot_models()
gainsvalue.size
andline.size
arguments, similar toplot_model()
. -
plot_models()
should sort coefficients in their natural order now.
Bug fixes
- Fixed bug in
plot_xtab()
with wrong order of legend labels. - Fixed bug in
plot_models()
with wrong axis title for exponentiated coefficients. - Fixed bug in
tab_model()
that did not show standard error of standardized coefficients whenshow.se = TRUE
.
sjPlot 2.8.3
CRAN release: 2020-03-09
General
-
tab_model()
andplot_model()
now support clogit models (requires latest update of package insight).
Changes to functions
-
tab_model()
gets ap.adjust
argument to adjust p-values for multiple comparisons. -
tab_model()
,plot_model()
andplot_models()
get arobust
-argument to easily compute standard errors, confidence intervals and p-values based on robust estimation of the variance-covariance matrix.robust
is just a convenient shortcut forvcov.fun
andvcov.type
.
Bug fixes
- Fixed issue in
tab_model()
andplot_model()
for certain cases when coefficients could not be estimated and wereNA
. - Fixed issue in
tab_model()
withcollapse.ci
for Bayesian models. - Fixed issue in
tab_model()
whenp.val="kr"
andshow.df=TRUE
. - Fixed issue in
tab_model()
with formatting issues of p-values when standardized coefficients where requested. - Fixed issue in
tab_model()
due to changes in other packages sjPlot depends on.
sjPlot 2.8.2
CRAN release: 2020-01-23
Function renaming
-
sjt.itemanalysis()
is now namedtab_itemscale()
. -
sjt.xtab()
is now namedtab_xtab()
.
Changes to functions
- Improved handling for
tab_model()
of robust estimation in general and Kenward-Roger or Satterthwaite approximations in particular for linear mixed models. - Revised code to cope with forthcoming tidyselect-update.
Bug fixes
- Improved
tab_df()
now uses value labels for factors instead of numeric values. - Fixed some issues related to the lates brms-update.
sjPlot 2.8.1
CRAN release: 2019-12-03
Changes to functions
-
tab_model()
gets argumentsbootstrap
,iterations
andseed
to return bootstrapped estimates.
Bug fixes
- Fixed issue in
tab_model()
with detecting labels whenauto.label = TRUE
. - Fixed issue in
tab_model()
for negative binomial hurdle mixed models (i.e. glmmTMB models with truncated negative-binomial family). - Fixed bug in
tab_model()
withshow.reflvl = TRUE
. - Fixed bug in
tab_model()
where labels for coefficients where not matching the correct coefficients.
sjPlot 2.8.0
CRAN release: 2019-11-18
Breaking changes
- Cluster functions have been removed, as these are now re-implemented in the parameters package.
General
- Standardization of model parameters (in
plot_model()
ortab_model()
) now uses standardization based on refitting the model.
Changes to functions
-
plot_model()
getstype = "emm"
as marginal effects plot type, which is similar totype = "eff"
. See Plotting Marginal Effects of Regression Models for details. - The
verbose
-argument inview_df()
now defaults toFALSE
. - Updated and re-arranged internal color palette, especially to have a better behaviour when selecting colors from continuous palettes (see
show_pals()
).
Bug fixes
-
sort.est = NULL
inplot_model()
now preserves original order of coefficients. - Fixed bug in automatic axis labelling for
plot_frq()
for non-labelled, numeric values. - Fixed bug in
plot_frq()
when plotting factors. - Arguments
string.std_ci
andstring.std_se
are no longer ignored intab_model()
.
sjPlot 2.7.2
CRAN release: 2019-09-29
General
- Replaced
performance::principal_component()
byparameters::principal_component()
. - Fixed CRAN check issues, due to the latest bayestestR update.
Function renaming
-
sjp.grpfrq()
is now namesplot_grpfrq()
. -
sjp.xtab()
is now namesplot_xtab()
.
Changes to functions
-
plot_grid()
gets atags
-argument to add tags to plot-panels.
Bug fixes
- Fixed bug in
plot_stackfrq()
for data frames with many missing values. - Fixed bug with sorting frequencies in
plot_frq()
when vector had more labels than values. - Fixed bug in
tab_model()
whereshow.reflvl = TRUE
did not insert the reference category in first place, but in alphabetical order.
sjPlot 2.7.1
CRAN release: 2019-09-07
General
- Minor revisions to meet the changes in the forthcoming update from tidyr.
- new color palettes were added (see
show_sjplot_pals()
).
Changes to functions
-
tab_model()
now supports gamlss models. -
tab_df()
gets adigits
argument, to round numeric values in output.
Bug fixes
- Fixed bug in
tab_model()
withshow.df = TRUE
for lmerModLmerTest. - Fixed bug in
tab_stackfrq()
when items had different amount of valid values.
sjPlot 2.7.0
CRAN release: 2019-08-02
Renamed functions
-
sjp.stackfrq()
was renamed toplot_stackfrq()
. -
sjt.stackfrq()
was renamed totab_stackfrq()
.
Changes to functions
plot_likert()
- showed category labels in the top and bottom legends in two rows if there are more than six categories. Also, the categories are ordered column wise instead of row wise. This behaviour can now be controlled for grouped likert plots, using
group.legend.options
. The ordering now defaults to row wise and the user can force all categories onto a single row. - now automatically adjusts labels to avoid overlapping.
tab_model()
- now supports
wbm()
-models from the panelr-package. - gets a
show.aicc
-argument to show the second order AIC. - gets a
show.reflvl
-argument to show the reference level of factors. - gets a
string.std_se
andstring.std_ci
-argument to change the column header for standard errors and confidence intervals of standardized coefficients. - no longer prints a message that default p-values for mixed models are based on Wald approximation.
-
show.ci50
defaults toFALSE
now.
sjt.itemanalysis()
-
sjt.itemanalysis()
now works on ordered factors. A clearer error message was added when unordered factors are used. The old error message was not helpful. - The
factor.groups
argument can now be"auto"
to detect factor groups based on a pca with Varimax rotation.
sjp.stackrq()
-
sjp.stackfrq()
was renamed toplot_stackfrq()
. -
sjp.stackfrq()
(now named:plot_stackfrq()
) gets ashow.n
-argument to also show count values. This option can be combined withshow.prc
. -
sjp.stackfrq()
(now named:plot_stackfrq()
) now also works on grouped data frames.
changes to other functions
-
plot_model()
now supportswbm()
-models from the panelr-package.
Bug fixes
-
plot_model(type = "int")
now also recognized interaction terms with:
in formula. - Argument
string.est
intab_model()
did not overwrite the default label for the estimate-column-header. - Minor fix in
tab_model()
for mixed models that can’t compute R2. - Fix issue in
tab_model()
when printing robust standard errors and CI (i.e. when using argumentsvcov*
). - The
plot_likert()
optionreverse.scale = TRUE
resulted invalues = "sum.inside"
being outside and the other way around. This is fixed now. -
view_df()
mixed up labels and frequency values when value labels were present, but no such values were in the data. - Argument
wrap.labels
inplot_frq()
did not properly work for factor levels. - Fix issue in
plot_models()
that stopped for some models. - Fix issue in
sjt.stackfrq()
, whenshow.na = TRUE
and some items had zero-values.
sjPlot 2.6.3
CRAN release: 2019-04-27
General
- Export
dplyr::n()
, to meet changes in dplyr 0.8.0. -
plot_model()
andtab_model()
now supportMixMod
-objects from package GLMMadpative,mlogit
- andgmnl
-models.
Renamed functions
-
sjp.kfold_cv()
was renamed toplot_kfold_cv()
. -
sjp.frq()
was renamed toplot_frq()
.
Changes to functions
tab_model()
-
tab_model()
gets ashow.ngrps
-argument, which adds back the functionality to print the number of random effects groups for mixed models. -
tab_model()
gets ashow.loglik
-argument, which adds back the functionality to print the model’s log-Likelihood. -
tab_model()
gets astrings
-argument, as convenient shortcut for setting column-header strings. -
tab_model()
gets additional argumentsvcov.fun
,vcov.type
andvcov.args
that are passed down tosjstats::robust()
, to calculate different types of (clustered) robust standard errors. - The
p.style
-argument now also allows printing both numeric p-values and asterisks, by usingp.style = "both"
.
plot_likert()
-
plot_likert()
gets areverse.scale
argument to reverse the order of categories, so positive and negative values switch position. -
plot_likert()
gets agroups
argument, to group items in the plot (thanks to @ndevln). - Argument
grid.range
inplot_likert()
now may also be a vector of length 2, to define diffent length for the left and right x-axis scales.
Other
-
plot_frq()
(formersjp.frq()
) now has pipe-consistent syntax, enables plotting multiple variables in one function call and supports grouped data frames. -
plot_model()
gets additional argumentsvcov.fun
,vcov.type
andvcov.args
that are passed down tosjstats::robust()
, to calculate different types of (clustered) robust standard errors. -
sjt.xtab()
,sjp.xtab()
,plot_frq()
andsjp.grpfrq()
get adrop.empty()
-argument, to drop values / factor levels with no observations from output.
Bug fixes
- Legend labels were inverted for brms-models in
plot_model(..., type = "diag")
. - Legend labels were duplicated for marginal effects plots when
color ="bw"
andlegend.title
was specified. - Fixed encoding issues with help-files.
-
view_df()
did not truncate frequency- and percentage-values for variables where value labels were truncated to a certain maximum number. -
tab_model()
did not print number of observations forcoxph
-models.
sjPlot 2.6.2
CRAN release: 2018-12-18
Removed / Defunct
Following functions are now defunct:
-
sjt.lm()
,sjt.glm()
,sjt.lmer()
andsjt.glmer()
. Please usetab_model()
instead.
Changes to functions
-
tab_model()
supports printing simplex parameters of monotonic effects of brms models. -
tab_model()
gets aprefix.labels
-argument to add a prefix to the labels of categorical terms. - The
rotation
-argument insjt.pca()
andsjp.pca()
now supports all rotations frompsych::principal()
.
Bug fixes
-
plot_model()
no longer automatically changes the plot-type to"slope"
for models with only one predictor that is categorical and has more than two levels. -
type = "eff"
andtype = "pred"
inplot_model()
did not work whenterms
was not specified. - If robust standard errors are requested in
tab_model()
, the confidence intervals and p-values are now re-calculated and adjusted based on the robust standard errors. -
colors = "bw"
was not recognized correctly forplot_model(..., type = "int")
. - Fix issue in
sjp.frq()
with correct axis labels for non-labelled character vectors.
sjPlot 2.6.1
CRAN release: 2018-10-14
Deprecated
-
sjt.lm()
,sjt.glm()
,sjt.lmer()
andsjt.glmer()
are now deprecated. Please usetab_model()
instead.
Changes to functions
- Arguments
dot.size
andline.size
inplot_model()
now also apply to marginal effects and diagnostic plots. -
plot_model()
now uses a free x-axis scale in facets for models with zero-inflated part. -
plot_model()
now shows multiple plots for models with zero-inflated parts whengrids = FALSE
. -
tab_model()
gets ap.style
andp.threshold
argument to indicate significance levels as asteriks, and to determine the threshold for which an estimate is considered as significant. -
plot_model()
andplot_models()
get ap.threshold
argument to determine the threshold for which an estimate is considered as significant.
Bug fixes
- Fixed bug from the last update that made value labels disappear for
plot_likert()
. -
tab_model()
now also accepts multiple model-objects stored in alist
as argument, as stated in the help-file. - The
file
-argument now works again insjt.itemanalysis()
. - Argument
show.ci
intab_model()
did not compute confidence intervals for different levels.
sjPlot 2.6.0
CRAN release: 2018-08-23
General
-
sjp.scatter()
was revised and renamed toplot_scatter()
.plot_scatter()
is pipe-friendly, and also works on grouped data frames. -
sjp.gpt()
was revised and renamed toplot_gpt()
.plot_gpt()
is pipe-friendly, and also works on grouped data frames. - Reduce package dependencies.
Renamed functions
-
sjp.scatter()
was renamed toplot_scatter()
. -
sjp.likert()
was renamed toplot_likert()
. -
sjp.gpt()
was renamed toplot_gpt()
. -
sjp.resid()
was renamed toplot_residuals()
.
Changes to functions
- Improved support for
brmsfit
-objects with categorical-family forplot_model()
andtab_model()
. -
tab_model()
gets ashow.adj.icc
-argument, to also show the adjusted ICC for mixed models. -
tab_model()
gets acol.order
-argument, reorder the table columns. - Argument
hide.progress
inview_df()
is deprecated. Please useverbose
now. - The
statistics
-argument insjt.xtab()
gets a"fisher"
-option, to force Fisher’s Exact Test to be used.
Removed / Defunct
Following functions are now defunct:
-
sjp.lm()
,sjp.glm()
,sjp.lmer()
,sjp.glmer()
andsjp.int()
. Please useplot_model()
instead. -
sjt.frq()
. Please usesjmisc::frq(out = "v")
instead.
Bug fixes
- Due to changes in the broom and lmerTest packages, tidiers did no longer work for
lmerModLmerTest
objects. - Fix issue with standardized coefficient (argument
show.std
) intab_model()
.
sjPlot 2.5.0
CRAN release: 2018-07-12
New functions
-
tab_model()
as replacement forsjt.lm()
,sjt.glm()
,sjt.lmer()
andsjt.glmer()
. Furthermore,tab_model()
is designed to work with the same model-objects asplot_model()
. - New colour scales for ggplot-objects:
scale_fill_sjplot()
andscale_color_sjplot()
. These provide predifined colour palettes from this package. -
show_sjplot_pals()
to show all predefined colour palettes provided by this package. -
sjplot_pal()
to return colour values of a specific palette.
Deprecated
Following functions are now deprecated:
-
sjp.lm()
,sjp.glm()
,sjp.lmer()
,sjp.glmer()
andsjp.int()
. Please useplot_model()
instead. -
sjt.frq()
. Please usesjmisc::frq(out = "v")
instead.
Changes to functions
-
plot_model()
andplot_models()
get aprefix.labels
-argument, to prefix automatically retrieved term labels with either the related variable name or label. -
plot_model()
gets ashow.zeroinf
-argument to show or hide the zero-inflation-part of models in the plot. -
plot_model()
gets ajitter
-argument to add some random variation to data points for those plot types that acceptshow.data = TRUE
. -
plot_model()
gets alegend.title
-argument to define the legend title for plots that display a legend. -
plot_model()
now passes more arguments in...
down toggeffects::plot()
for marginal effects plots. -
plot_model()
now plots the zero-inflated part of the model forbrmsfit
-objects. -
plot_model()
now plots multivariate response models, i.e. models with multiple outcomes. - Diagnostic plots in
plot_model()
(type = "diag"
) can now also be used withbrmsfit
-objects. - Axis limits of diagnostic plots in
plot_model()
(type = "diag"
) for Stan-models (brmsfit
orstanreg
resp.stanfit
) can now be set with theaxis.lim
-argument. - The
grid.breaks
-argument forplot_model()
andplot_models()
now also takes a vector of values to directly define the grid breaks for the plot. - Better default calculation for grid breaks in
plot_model()
andplot_models()
when thegrid.breaks
-argument is of length one. - The
terms
-argument forplot_model()
now also allows the specification of a range of numeric values in square brackets for marginal effects plots, e.g.terms = "age [30:50]"
orterms = "age [pretty]"
. - For coefficient-plots, the
terms
- andrm.terms
-arguments forplot_model()
now also allows specification of factor levels for categorical terms. Coefficients for the indicted factor levels are kept resp. removed (see?plot_model
for details). -
plot_model()
now supportsclmm
-objects (package ordinal). -
plot_model(type = "diag")
now also shows random-effects QQ-plots forglmmTMB
-models, and also plots random-effects QQ-plots for all random effects (if model has more than one random effect term).
Bug fixes
-
plot_model(type = "re")
now supports standard errors and confidence intervals forglmmTMB
-objects. - Fixed typo for
glmmTMB
-tidier, which may have returned wrong data for zero-inflation part of model. - Multiple random intercepts for multilevel models fitted with
brms
area now shown in each own facet per intercept. - Remove unnecessary warning in
sjp.likert()
for uneven category count when neutral category is specified. -
plot_model(type = "int")
could not automatically selectmdrt.values
properly for non-integer variables. -
sjp.grpfrq()
now correctly uses the complete space in facets whenfacet.grid = TRUE
. -
sjp.grpfrq(type = "boxplot")
did not correctly label the x-axis when one category had no elements in a vector. - Problems with German umlauts when printing HTML tables were fixed.