Version 1.9.4 ----------------------------------------------------------------------------- General: * Package is now depending on R >= 3.2, because some functions did not work on older R-releases. Bug fixes: * `type = "rs.ri"` for `sjp.lmer` and `sjp.glmer` did not work with three-level (or more) mixed models or with mixed models with more than one random part. Version 1.9.3 ----------------------------------------------------------------------------- General: * P-values for linear mixed models are now computed using conditional F-tests with Kenward-Roger approximation for the df from the 'pbkrtest' package, if available. Changes to functions: * Better support for different model families in `sjp.glm` and `sjp.glmer`. * `sjt.lm`, `sjt.lmer`, `sjt.glm` and `sjt.glmer` get a `showDeviance` argument to display model's deviance in the table summary. * `sjt.lmer` and `sjt.glmer` now show R2-values (based on sjmisc::r2 function). * `sjt.lmer` and `sjt.glmer` get argument `showREvar` to show random effect variances. * `sjt.df` gets a `...` argument to pass down other arguments to `psych::describe`. * Argument `sample.n` in `sjp.lmer` and `sjp.glmer` may now also be a numeric vector of length > 1, indicating speficic random effects to select for plotting. * Plot-type of `sjp.int` now defaults to `type = "eff"`. * Minor improvements to `sjp.int` according to plot labels (legend, axis). Bug fixes: * `sjt.xtab` did not apply `highlightTotal` to total column. * `sjt.xtab` showed wrong total percentages for row and column percentages. * `geom.outline.color` and `geom.outline.size` did not apply to bar geoms after ggplot-update. Version 1.9.2 ----------------------------------------------------------------------------- General: * Updates package vignettes (http://strengejacke.de/sjPlot/) to work with the latest package versions. Changes to functions: * `sjp.lmm` and `sjp.glmm` now also support linear mixed effects models (of class `merMod`). * `sjp.int` now uses proper x-axis-tick-labels for `type = "eff"`, when predictor on x-axis is a factor with non-numeric factor-levels (or has label attributes). * `sjp.glm` gets a `group.estimates` argument to group estimates in forest plots and colour them according to group assignment. Use arguments `show.legend` and `legendTitle` to modify group legend. * `sjp.poly` now has better variable label detection for automatic axis labelling. * `sjp.lmer` and `sjp.glmer` now support model diagnostics with `type = "ma"`. * Better support for different model families in `sjp.glm`. * Better axis labelling for `type = "poly"` in `sjp.lm` and `sjp.lmer`. Bug fixes: * Fixed bug in `sjp.int`, where automatic y-axis-scaling for binary outcomes cut off parts of confidence region in some cases. * Fixed bug in `sjp.lmer` and `sjp.glmer` with doubled y-axis for faceted random effect plots. * `sjt.xtab` ignored value labels when weighting data. * Fixed bug with position of value labels in `sjp.xtab`. * Fixed bug in `sjp.likert` that plotted categories in wrong order when neutral category was lower than amount of categories. * Fixed bug in `sjp.grpfrq` with argument `autoGroupAt`. * Fixed minor bugs in `sjp.lm` with axis range for forest plots. * Fixed bug in `sjp.stackfrq`, where the use of argument `showSeparatorLine` caused an error. Version 1.9.1 ----------------------------------------------------------------------------- Changes to functions: * Improved text label positioning for plotting functions. * Plotting functions now get an argument `y.offset` to specify an offset for text labels from geoms. * `sjp.lm` and `sjt.lm` now support `gls` models fitted with `nlme::gls`. * `sjp.int` now fits the y-axis to the required range for predicted probabilities for logistic regressions instead of always using a range from 0 to 1, even for smaller effects. * `sjp.glmer` and `sjp.lmer` get a `axisLimits.y` argument to specify y-axis limits specifically for predicted probability or effect plots. * `view_df` now supports showing missings and missing percentages. * Harmonized column names of returned data frames to match `broom`s naming convention for `sjp.lm`, `sjp.glm`, `sjp.lmer`, `sjp.glmer`, `sjp.lmm`, `sjp.glmm`, `sjp.aov1` and `sjp.int`. * Functions with harmonized data frames as return value now also gain the class attribute `sjPlot`, and all returned data frame values are named `data`. * `sjp.scatter` gets a `useCount` argument to indicate overplotting by point size. * `sjp.scatter` now also plots data points when using argument `pointLabels`, so exact position of labelled data points is visible. `geom_text_repel` is used to avoid overlapping of points and labels. * `sjt.xtab` gets a `title` argument to print a table caption. Bug fixes: * Automatic label detection did not choose column names when no variable labels were present for functions that accepted data frames as data argument, now works again. * `sjp.int` did not work with fitted models from class `lme`, now works again. * `sjt.xtab` did not show `NA` values for `showNA = TRUE`, now works again. * `sjt.xtab` did not use arguments `valueLabels`, now works again. * Table summary (chi-squared, phi, p) for `sjt.xtab` were wrong, now works again. * Due to rounding, total percentage in `sjt.xtab` could differ from 100%. * Minor fixes. Version 1.9 ----------------------------------------------------------------------------- General: * Fixed many issues related to the latest update of ggplot2. * Argument `show.se` is now deprecated. Use `show.ci` instead. * Redesign of computation of frequency tables for `sjp.frq` and `sjt.frq`, being more robust and generally working with labelled, non-labelled, numeric, character vectors and factors. * Redesign of computation of frequency tables for `sjp.grpfrq`, `sjp.xtab` and `sjt.xtab`, being more robust and generally working with labelled, non-labelled, numeric, character vectors and factors. * Better automatic handling of variable and value labels that are used for labelling plot axes and titles or table columns. Changes to functions due to new ggplot2-version: * `sjp.grpfrq` no longer has plot type `type = "histogram"`. Maybe re-implemented in a later update. Due to this change, arguments like `showMeanIntercept` and similar were removed. * Plotting functions no longer have argument `labelPosition`. Instead, use arguments `vjust` and `hjust`, which correspond to the same ggplot2-aesthetics according to their possible values. Changes to functions: * `sjp.lm` gets a `group.estimates` argument to group estimates in forest plots and colour them according to group assignment. Use arguments `show.legend` and `legendTitle` to modify group legend. * `sjp.lmer` and `sjp.glmer` can now plot random effect parts of random slope-intercept models (with `type = "rs.ri"`), where regression lines or predicted probabilities of random intercept and slopes are plotted. * Intercept line plotting in `sjp.int` for `type = "cond"` was removed. * Line geoms for `type = "cond"` in `sjp.int` now always start at y-position zero, to better indicate the effective change of interaction effect compared to base reference. Now, the y-position indicates the change in the reponse due to the interaction effect. * `sjp.int` gets a `geom.size` argument to specify line width. Bug fixes: * Argument `ci.hyphen` in function `sjt.lm` and `sjt.lmer` was not correctly applied to confidence intervals of standardized beta values. Version 1.8.4 ----------------------------------------------------------------------------- General: * Improved encoding detection for `sjt`-functions. Changes to functions: * Predictor grouping with argument `group.pred` now also works for `sjt.lmer` and `sjt.glmer` (in certain cases may be buggy, so `group.pred` defaults to `FALSE`). * Argument `vars` in `sjp.lmer` and `sjp.glmer` now also applies when plotting estimates (`type = "fe"` or `type = "re"`). * `view_df` gets a `weightBy` argument. * Argument `showCI` in `sjp.int` accepts numeric values for `type = "eff"`, indicating the confidence interval value. * Minor improvements to `view_df`, `sjp.lm` and `sjp.lmm`. * Improved accuracy of computation of skewness value in `sjt.itemanalysis`. Bug fixes: * Fixed bug where in certain cases, ordered factors were not labelled correctly in `sjp.frq`. * Value labels were not shown in `sjp.aov1`. * Axis labels were reversed in `sjp.pca` for `type = "bar"`. Version 1.8.3 ----------------------------------------------------------------------------- New functions: * `sjp.gpt` to plot grouped proportional tables. * `save_plot` as convenient function to save the last ggplot-figure in high quality for publication. Changes to functions: * `sjp.lmm` can now also plot standardized estimates. * `sjp.lm`, `sjp.lmm` and `sjt.lm` can now plot standardized estimates, where standardization is computed following Gelman's approach by dividing estimates by two standard deviations. * Added parameters `ci.hyphen` and `minus.sign` to `sjt.lm`, `sjt.glm`, `sjt.lmer` and `sjt.glmer` to set specific symbols or HTML entitities for hyphens and minus signs of negative numbers. * Added `type = 'coeff'` to `sjp.lmer` to plot joint random and fixed effects coefficients. * `sjp.lm`, `sjp.glm`, `sjp.lmm`, `sjp.glmm`, `sjp.lmer` and `sjp.glmer` get a `remove.estimates` argument to remove specific estimates from the plot output. * `type = 'poly'` in `sjp.lm` can now deal with fitted models that either use polynomials with `poly` or splines with `bs`. * `sjt.df` gets a `big.mark` parameter to add thousands-separators if parameter `describe = TRUE`. * `sjt.df` and `view_df` now recognize Date and POSIX-classes, if `showType = TRUE`. * `sjp.poly` now also returns cutpoints of loess curvature, to get maximum / minimum values of loess curvature. * `sjp.lm` with `type = 'ma'` now also returns all plots as list of ggplot-objects. * `sjp.setTheme` now allows for custom label and title colors when using pre-set-themes. * Improved automatic y-axis-limit detection in `sjp.frq` and `sjp.grpfrq`. * Minor improvements to `sjp.lmm` and `sjp.glmm`. Bug fixes: * Fixed bug in `sjp.lmer`, which misleadingly printed wrong beta coefficients (they were exponentiated as for odds ratios). * Fixed bug with computation of predicted probabilities in `sjp.glm` and `sjp.glmer` (only occured when `type = 'y.pc'`). * `sjp.grpfrq` did not show correct number of missings (argument `na.rm = FALSE`), if grouping variable startet with zero. * Fixed bug with `sjp.frq` and `sjt.frq`, when variable was a labelled factor with lowest factor level smaller than 1. * Fixed bug in `view_df` with parameter `showFreq = TRUE`, when variable was a character vector. * Minor bug fixes with p-shapes in `sjp.lmm` and `sjp.glmm`. * Fixed bug in `sjt`-table functions that occured with invalid multibyte strings. Version 1.8.2 ------------------------------------------------------------------------------ General: * `view_spss` is now deprecated. Use `view_df` instead. * Package documentation got major revisions. * Updated namespaces to meet new CRAN namespace requirements. New functions: * `sjp.poly` to plot polynomial curves for (generalized) linear regressions. Changes to functions: * Model and table summaries in plotting functions (like `sjp.lm` or `sjp.grpfrq`) are no longer printed by default. Use `showTableSummary = TRUE` or `showModelSummary = TRUE` to print summaries in plots. * Added more plotting type options (see `type` parameter) to `sjp.glm`, `sjp.glmer`, `sjp.lm` and `sjp.lmer`: `eff` for plotting marginal effects of model terms, and `poly` to plot predicted values of polynomial terms (only for linear (mixed) models). * Added parameter `pointLabels` to `sjp.scatter` to plot scattered text labels. * Added parameter `int.term` to `sjp.int`, to plot selected interaction terms for `type = 'eff'`. May be used in cases where effect computation takes too long or even crashes due to out-of-memory-problems. * Added parameter `axisLimits.x` to `sjp.int`, `sjp.frq` and `sjp.grpfrq`. * Added parameter `showAICc` to `sjt.lm`, `sjt.glm`, `sjt.lmer` and `sjt.glmer` to print second-order AIC. * Improved automatic y-axis-limit detection in `sjp.frq` and `sjp.grpfrq`. * For `sjt.lm` and `sjt.glm`, if `digits.p` is greater than 3, p-values less than 0.001 will no longer be abbreviated to `<0.001`. Instead, the exact value (rounded to digits.p) will be printed. * Minor improvements to `sjp.likert`, `sjp.int`, `sjp.glm`, `sjp.frq` and `sjp.grpfrq`. Bug fixes: * `sjp.int` sometimes crashed with mixed models, due to slow Kenward-Roger-computation of standard errors, provided by the `effects`-package. Fixed, `KR`-parameter, when calling `allEffects`, now defaults to `FALSE`. * Fixed bug in `view_spss`, where frequencies were not displayed correctly when a category value had zero counts. * Fixed bug in `sjp.frq` and `sjt.frq`, where non-incremental levels in some cases were not displayed correctly. * Fixed bug in `sjp.frq` and `sjt.frq`, where categories of ordered factors were messed up. * Some minor bug fixes. Version 1.8.1 ------------------------------------------------------------------------------ General: * Deprecated function `sjp.emm.int` was removed. Use `sjp.int` with parameter `type = 'emm'` to plot estimated marginal means. * Minor improvements for `sjt.lm` and `sjt.glm`. New functions: * `sjt.lmer` to print summary tables of linear mixed models. * `sjt.glmer` to print summary tables of generalized linear mixed models. Changes to functions: * Added 'type = `probc`' to `sjp.glm` as alternative to 'type = `prob`'. 'type = `probc`' calculates predicted probabilities based on the `predict` function. * Added 'type = `y.prob`' to `sjp.glm` and `sjp.glmer` to plot predicted probabilities of the response. * Added 'type = `resp`' to `sjp.lm` and to `sjp.lmer` to plot predicted values of the response. * `sjt.grpmean` gets a `weightBy` parameter to compute weighted group-means. * `sjt.glm` gets a `showHosLem` parameter to print results of the Hosmer-Lemeshow-Goodness-of-fit-Test for generalized linear models. * Added white-background-alternative-themes of 538, 539 and scatter to `sjp.setTheme`. * `sjt.frq` now warns when a variable has less labels than unique values. * `sjp.int` for `type = 'emm'` now warns if interaction terms are not factors. Bug fixes: * Fixed bug with `options(p_zero = TRUE)`, where leading zero was inserted after, instead of before decimal point. * Fixed formatting bug for pseudo-R2 in `sjt.glm`. * Fixed bug in `sjp.likert` when data frame had only one column. * Fixed bug in `sjt.frq` when a data frame contained variables with only NA values. * Fixed bugs in `sjt.frq` with weighted variables. * Fixed wrong warning message, saying that package `lme4` is missing (should be package `arm` instead). Version 1.8 ------------------------------------------------------------------------------ General: * Utility, recode and statistical test functions have been moved to another package called `sjmisc`! sjPlot now imports sjmisc. * R-Version dependency changed to R >= 3.1, due to import of `tidyr` and `dplyr` packages. * `sjp.emm.int` is now deprecated. Use `sjp.int` with parameter `type = 'emm'` to plot estimated marginal means. Estimated marginal means can now also be applied to lmerMod-objects from lme4-package. New functions: * `sjt.mwu` to print Mann-Whitney-tests as HTML-table. Changes to function 'sjp.int': * `sjp.int` now supports `plm` objects (from plm-package). * Added parameter `type` to `sjp.int` to plot different types of interactions, including estimated marginal means. * Added parameter `legendTitle` to `sjp.int`. * Added parameter `int.plot.index` to `sjp.int`, so only selected interaction terms may be plotted. * Added parameter `showCI` to `sjp.int` (only for type = `emm` and `eff`) to add confidence intervals to estimated marginal means. * Added parameter `facet.grid` to `sjp.int` to plot each effect in a separate plot. * Parameter `legendLabels` of `sjp.int` now accepts a list of character vectors, with one vector of legend labels for each interaction plot plotted. * Parameter `title` of `sjp.int` now accepts a character vector of same length as interaction terms, with one title character string for each interaction plot plotted. * Parameter `moderatorValues` in `sjp.int` has two new options `zeromax` and `quart` for chosing the moderator values. Changes to other functions: * Linear mixed model methods (`sjp.int`, `sjp.lmer`) can now cope with `modMerLmerTest` objects (fitted with `lmerTest` package) * `sjp.lmer` now calculates approximate p-values based on Wald chi-squared tests. * `sjp.lmer` and `sjp.glmer` now plot all random effects (when type = `re`) by default, instead of only the first random effect. Furthermore, parameter `ri.nr` now may be a numeric vector (instead of single numeric value) with several random effect index numbers. * `sjp.glm` now supports plotting `logistf` objects. * `sjp.glmm` and `sjp.lmm` now also accept a list of fitted models (see examples in ?sjp.glmm and ?sjp.lmm). * `sjp.int` and `sjp.lm` now support `plm` objects (from plm-package). * Parameters `orderBy` and `reverseOrder` in `sjp.stackfrq` and `sjt.stackfrq` were merged into new parameter `sort.frq`. * Parameter `transformTicks` in `sjp.glm` and `sjp.glmm` now defaults to `TRUE`. * Added parameter `emph.grp` to `sjp.lmer` and `sjp.glmer` to emphasize specific grouping levels when plot-type is either `fe.ri` or `ri.pc`. * Added parameter `labelDigits` to functions `sjp.likert` and `sjp.stackfrq`, so digits of value labels can be changed. * Added option `fe.pred` to `type`-parameter of `sjp.lmer` to plot slopes for each single fixed effect. * Added parameter `bar` to `sjp.pca` to plot loadings of principle components as bar charts. * Renamed parameters `y` and `x` in `sjp.xtab` into `var` and `grp`. * Added further pre-set themes to `sjp.setTheme`. * Minor improvements of `sjp.setTheme`. Bug fixes: * `sjp.int` did not work for interaction terms of factors with more than two levels in mixed effects models (`merMod`-objects) - fixed. * `sjp.glm` and `sjp.glmm` should catch axis limits, which are out of printable bounds, hence these function should no longer stop in such cases. * `sjp.lmer` and `sjp.glmer` wrongly stated that paramter `ri.nr` was out of bound when `type` was `re`, `fe.ri` or `ri.pc` - fixed. * Weights with decimals in `sjt.xtab` (e.g. `weightBy = abs(rnorm(100, 2, 1)`) caused an error - fixed. * `sjp.int` did not work with interaction terms that used `AsIs` conversion (function `I`) - fixed.