diff --git a/404.html b/404.html index 58a6405d..3e5d12c0 100644 --- a/404.html +++ b/404.html @@ -24,7 +24,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/CODE_OF_CONDUCT.html b/CODE_OF_CONDUCT.html index 06b620fa..81fbdfcf 100644 --- a/CODE_OF_CONDUCT.html +++ b/CODE_OF_CONDUCT.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index 249965b6..ed16eae5 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/blackwhitefigures.html b/articles/blackwhitefigures.html index d9c4a9aa..e941ac33 100644 --- a/articles/blackwhitefigures.html +++ b/articles/blackwhitefigures.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/custplot.html b/articles/custplot.html index bdc70386..5c0021b6 100644 --- a/articles/custplot.html +++ b/articles/custplot.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/index.html b/articles/index.html index f92d611b..45458115 100644 --- a/articles/index.html +++ b/articles/index.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/plot_interactions.html b/articles/plot_interactions.html index 7f638a1b..72433d7d 100644 --- a/articles/plot_interactions.html +++ b/articles/plot_interactions.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/plot_likert_scales.html b/articles/plot_likert_scales.html index f5433f4f..44360859 100644 --- a/articles/plot_likert_scales.html +++ b/articles/plot_likert_scales.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/plot_marginal_effects.html b/articles/plot_marginal_effects.html index 326a475b..397add60 100644 --- a/articles/plot_marginal_effects.html +++ b/articles/plot_marginal_effects.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/plot_model_estimates.html b/articles/plot_model_estimates.html index 9ba09d95..0ad815cb 100644 --- a/articles/plot_model_estimates.html +++ b/articles/plot_model_estimates.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/sjtitemanalysis.html b/articles/sjtitemanalysis.html index 5b5f0498..f5935a89 100644 --- a/articles/sjtitemanalysis.html +++ b/articles/sjtitemanalysis.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/tab_bayes.html b/articles/tab_bayes.html index 620998ff..8c1fc20c 100644 --- a/articles/tab_bayes.html +++ b/articles/tab_bayes.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/tab_mixed.html b/articles/tab_mixed.html index d0dfa625..73806d6d 100644 --- a/articles/tab_mixed.html +++ b/articles/tab_mixed.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/tab_model_estimates.html b/articles/tab_model_estimates.html index 91fc7bd6..dfbab2a1 100644 --- a/articles/tab_model_estimates.html +++ b/articles/tab_model_estimates.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/tab_model_robust.html b/articles/tab_model_robust.html index 01db5722..aad64848 100644 --- a/articles/tab_model_robust.html +++ b/articles/tab_model_robust.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/articles/table_css.html b/articles/table_css.html index 7a2b9441..c4eb3f08 100644 --- a/articles/table_css.html +++ b/articles/table_css.html @@ -23,7 +23,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/authors.html b/authors.html index f894f2ea..95ee83a4 100644 --- a/authors.html +++ b/authors.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 @@ -89,12 +89,12 @@ Citation Lüdecke D (????). sjPlot: Data Visualization for Statistics in Social Science. -R package version 2.8.16.3, https://CRAN.R-project.org/package=sjPlot. +R package version 2.8.17, https://CRAN.R-project.org/package=sjPlot. @Manual{, title = {sjPlot: Data Visualization for Statistics in Social Science}, author = {Daniel Lüdecke}, - note = {R package version 2.8.16.3}, + note = {R package version 2.8.17}, url = {https://CRAN.R-project.org/package=sjPlot}, } diff --git a/index.html b/index.html index 509aa1ce..c5f10eb8 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/news/index.html b/news/index.html index 7ecc4d49..c83abc1a 100644 --- a/news/index.html +++ b/news/index.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 @@ -59,7 +59,8 @@ sjPlot 2.8.17 Bug fixes -Fixed issues with renamed arguments in upstream package ggeffects. +Fixed issues with renamed arguments in upstream package ggeffects. +Several minor bug fixes. diff --git a/pkgdown.yml b/pkgdown.yml index 4d35a8cf..06ca0247 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -14,7 +14,7 @@ articles: tab_model_estimates: tab_model_estimates.html tab_model_robust: tab_model_robust.html table_css: table_css.html -last_built: 2024-11-29T09:40Z +last_built: 2024-11-29T10:51Z urls: reference: https://strengejacke.github.io/sjPlot/reference article: https://strengejacke.github.io/sjPlot/articles diff --git a/reference/dist_chisq.html b/reference/dist_chisq.html index efb7efae..e3005496 100644 --- a/reference/dist_chisq.html +++ b/reference/dist_chisq.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/dist_f.html b/reference/dist_f.html index 59680f95..bb4e83fb 100644 --- a/reference/dist_f.html +++ b/reference/dist_f.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/dist_norm.html b/reference/dist_norm.html index b9c8dcdc..931214f0 100644 --- a/reference/dist_norm.html +++ b/reference/dist_norm.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/dist_t.html b/reference/dist_t.html index d7fbb331..5d808dac 100644 --- a/reference/dist_t.html +++ b/reference/dist_t.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/efc.html b/reference/efc.html index f2222b45..a7ef2ef2 100644 --- a/reference/efc.html +++ b/reference/efc.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/index.html b/reference/index.html index 692a4a36..17204a41 100644 --- a/reference/index.html +++ b/reference/index.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_frq.html b/reference/plot_frq.html index 59b82b85..926d27c4 100644 --- a/reference/plot_frq.html +++ b/reference/plot_frq.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_gpt.html b/reference/plot_gpt.html index 6708c360..3581ae71 100644 --- a/reference/plot_gpt.html +++ b/reference/plot_gpt.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_grid.html b/reference/plot_grid.html index 2865d777..68787e5b 100644 --- a/reference/plot_grid.html +++ b/reference/plot_grid.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_grpfrq.html b/reference/plot_grpfrq.html index 5860d758..b3d3f339 100644 --- a/reference/plot_grpfrq.html +++ b/reference/plot_grpfrq.html @@ -9,7 +9,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_kfold_cv.html b/reference/plot_kfold_cv.html index 6a1a136f..3ed49264 100644 --- a/reference/plot_kfold_cv.html +++ b/reference/plot_kfold_cv.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_likert.html b/reference/plot_likert.html index 6d384353..a83b4c79 100644 --- a/reference/plot_likert.html +++ b/reference/plot_likert.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_model.html b/reference/plot_model.html index 24bdbfbf..a33e83cc 100644 --- a/reference/plot_model.html +++ b/reference/plot_model.html @@ -9,7 +9,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_models.html b/reference/plot_models.html index 4fd90256..3f718b93 100644 --- a/reference/plot_models.html +++ b/reference/plot_models.html @@ -9,7 +9,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_residuals.html b/reference/plot_residuals.html index e05717de..e69c23c1 100644 --- a/reference/plot_residuals.html +++ b/reference/plot_residuals.html @@ -15,7 +15,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_scatter.html b/reference/plot_scatter.html index 55f4a170..aacda730 100644 --- a/reference/plot_scatter.html +++ b/reference/plot_scatter.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_stackfrq.html b/reference/plot_stackfrq.html index 6e5aab78..838f7a0d 100644 --- a/reference/plot_stackfrq.html +++ b/reference/plot_stackfrq.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/plot_xtab.html b/reference/plot_xtab.html index a08ffd1f..1b141be6 100644 --- a/reference/plot_xtab.html +++ b/reference/plot_xtab.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/save_plot.html b/reference/save_plot.html index a481f131..75059d34 100644 --- a/reference/save_plot.html +++ b/reference/save_plot.html @@ -9,7 +9,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/set_theme.html b/reference/set_theme.html index 6a579e41..1903906a 100644 --- a/reference/set_theme.html +++ b/reference/set_theme.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjPlot-package.html b/reference/sjPlot-package.html index 2af4515c..daaae1a8 100644 --- a/reference/sjPlot-package.html +++ b/reference/sjPlot-package.html @@ -41,7 +41,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjPlot-themes.html b/reference/sjPlot-themes.html index 320f0e60..2ce3dfc3 100644 --- a/reference/sjPlot-themes.html +++ b/reference/sjPlot-themes.html @@ -9,7 +9,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjp.aov1.html b/reference/sjp.aov1.html index 7ba99eae..f31bad82 100644 --- a/reference/sjp.aov1.html +++ b/reference/sjp.aov1.html @@ -13,7 +13,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjp.chi2.html b/reference/sjp.chi2.html index a2645c49..94647ec0 100644 --- a/reference/sjp.chi2.html +++ b/reference/sjp.chi2.html @@ -13,7 +13,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjp.corr.html b/reference/sjp.corr.html index 76aafe59..7288438b 100644 --- a/reference/sjp.corr.html +++ b/reference/sjp.corr.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjp.poly.html b/reference/sjp.poly.html index 0033e281..ae94b5eb 100644 --- a/reference/sjp.poly.html +++ b/reference/sjp.poly.html @@ -15,7 +15,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/sjplot.html b/reference/sjplot.html index f2096ffc..983553df 100644 --- a/reference/sjplot.html +++ b/reference/sjplot.html @@ -17,7 +17,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_corr.html b/reference/tab_corr.html index 23c85b1c..8d8bba5b 100644 --- a/reference/tab_corr.html +++ b/reference/tab_corr.html @@ -11,7 +11,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_df.html b/reference/tab_df.html index 5806637a..acbff4a7 100644 --- a/reference/tab_df.html +++ b/reference/tab_df.html @@ -9,7 +9,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_fa.html b/reference/tab_fa.html index b177720e..56febb99 100644 --- a/reference/tab_fa.html +++ b/reference/tab_fa.html @@ -17,7 +17,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_itemscale.html b/reference/tab_itemscale.html index de282d6c..9c45dec0 100644 --- a/reference/tab_itemscale.html +++ b/reference/tab_itemscale.html @@ -43,7 +43,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_model.html b/reference/tab_model.html index 3703e83c..0b930cc4 100644 --- a/reference/tab_model.html +++ b/reference/tab_model.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_pca.html b/reference/tab_pca.html index 72ebe6ea..428405cf 100644 --- a/reference/tab_pca.html +++ b/reference/tab_pca.html @@ -17,7 +17,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_stackfrq.html b/reference/tab_stackfrq.html index cf53a852..b0e36ee5 100644 --- a/reference/tab_stackfrq.html +++ b/reference/tab_stackfrq.html @@ -13,7 +13,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/tab_xtab.html b/reference/tab_xtab.html index 8ea7d6f8..7ca72c94 100644 --- a/reference/tab_xtab.html +++ b/reference/tab_xtab.html @@ -7,7 +7,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/reference/view_df.html b/reference/view_df.html index e4e72ccf..cfc2bc1d 100644 --- a/reference/view_df.html +++ b/reference/view_df.html @@ -15,7 +15,7 @@ sjPlot - 2.8.16.3 + 2.8.17 diff --git a/search.json b/search.json index f46bc4cd..854d771e 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://strengejacke.github.io/sjPlot/CODE_OF_CONDUCT.html","id":null,"dir":"","previous_headings":"","what":"Contributor Code of Conduct","title":"Contributor Code of Conduct","text":"contributors maintainers project, pledge respect people contribute reporting issues, posting feature requests, updating documentation, submitting pull requests patches, activities. committed making participation project harassment-free experience everyone, regardless level experience, gender, gender identity expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion. Examples unacceptable behavior participants include use sexual language imagery, derogatory comments personal attacks, trolling, public private harassment, insults, unprofessional conduct. Project maintainers right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct. Project maintainers follow Code Conduct may removed project team. Instances abusive, harassing, otherwise unacceptable behavior may reported opening issue contacting one project maintainers. Code Conduct adapted Contributor Covenant (http://contributor-covenant.org), version 1.0.0, available http://contributor-covenant.org/version/1/0/0/","code":""},{"path":"https://strengejacke.github.io/sjPlot/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to sjmisc","title":"Contributing to sjmisc","text":"outlines propose change sjmisc.","code":""},{"path":"https://strengejacke.github.io/sjPlot/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to sjmisc","text":"Small typos grammatical errors documentation may edited directly using GitHub web interface, long changes made source file. want fix typos documentation, please edit related .R file R/ folder. edit .Rd file man/.","code":""},{"path":"https://strengejacke.github.io/sjPlot/CONTRIBUTING.html","id":"filing-an-issue","dir":"","previous_headings":"","what":"Filing an issue","title":"Contributing to sjmisc","text":"easiest way propose change new feature file issue. ’ve found bug, may also create associated issue. possible, try illustrate proposal bug minimal reproducible example.","code":""},{"path":"https://strengejacke.github.io/sjPlot/CONTRIBUTING.html","id":"pull-request","dir":"","previous_headings":"","what":"Pull request","title":"Contributing to sjmisc","text":"Please create Git branch pull request (PR). contributed code roughly follow tidyverse style guide. Exceptions guide: separated, use underscores function names, dots argument names. See example set_na(). sjmisc uses roxygen2, Markdown syntax, documentation. sjmisc uses testthat. Adding tests PR makes easier merge PR code base. PR user-visible change, may add bullet top NEWS.md describing changes made. may optionally add GitHub username, links relevant issue(s)/PR(s).","code":""},{"path":"https://strengejacke.github.io/sjPlot/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to sjmisc","text":"Please note project released Contributor Code Conduct. participating project agree abide terms.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/blackwhitefigures.html","id":"barplots-in-grey-scaled-colors","dir":"Articles","previous_headings":"","what":"Barplots in grey-scaled colors","title":"Black & White Figures for Print Journals","text":"two ways create plots black white greyscale. bar plots, geom.colors = \"gs\" creates plot using greyscale (based scales::grey_pal()).","code":"library(sjPlot) library(sjmisc) library(sjlabelled) library(ggplot2) theme_set(theme_bw()) data(efc) plot_grpfrq(efc$e42dep, efc$c172code, geom.colors = \"gs\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/blackwhitefigures.html","id":"lineplots-in-bw-with-different-linetypes","dir":"Articles","previous_headings":"","what":"Lineplots in b/w with different linetypes","title":"Black & White Figures for Print Journals","text":"Similar barplots, lineplots - mostly plot_model() - can plotted greyscale well (colors = \"gs\"). However, cases lines colored greyscale difficult distinguish. case, plot_model() supports black & white figures different linetypes. Use colors = \"bw\" create b/w-plot. Different linetypes apply linetyped plots, usually plot single line - ’s need different linetypes, can just set colors = \"black\" (colors = \"bw\").","code":"# create binrary response y <- ifelse(efc$neg_c_7 < median(na.omit(efc$neg_c_7)), 0, 1) # create data frame for fitting model df <- data.frame( y = to_factor(y), sex = to_factor(efc$c161sex), dep = to_factor(efc$e42dep), barthel = efc$barthtot, education = to_factor(efc$c172code) ) # set variable label for response set_label(df$y) <- \"High Negative Impact\" # fit model fit <- glm(y ~., data = df, family = binomial(link = \"logit\")) # plot marginal effects plot_model( fit, type = \"pred\", terms = c(\"barthel\", \"sex\",\"dep\"), colors = \"bw\", ci.lvl = NA ) # plot coefficients plot_model(fit, colors = \"black\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"tweaking-plot-appearance","dir":"Articles","previous_headings":"","what":"Tweaking plot appearance","title":"Customize Plot Appearance","text":"base function globally change theme option sjp-function set_theme(). Except geom-colors geom-sizes, theme-options can set via function. new theme applied following plots created sjPlot package. various arguments change colors, sizes, angles etc. labels. Following example show changes colors, sizes, angles, geom-outlines theme.","code":"# load libraries library(sjPlot) # for plotting library(sjmisc) # for sample data library(ggplot2) # to access ggplot-themes # load sample data set data(efc) set_theme( geom.outline.color = \"antiquewhite4\", geom.outline.size = 1, geom.label.size = 2, geom.label.color = \"grey50\", title.color = \"red\", title.size = 1.5, axis.angle.x = 45, axis.textcolor = \"blue\", base = theme_bw() ) plot_grpfrq( efc$e42dep, efc$e16sex, title = NULL, geom.colors = c(\"cadetblue\", \"coral\"), geom.size = 0.4 )"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"using-the-color-brewer-palettes","dir":"Articles","previous_headings":"","what":"Using the Color Brewer palettes","title":"Customize Plot Appearance","text":"plotting functions support usage Colorbrewer palettes. apply color brewer palette, use specify palette geom.colors. valid color brewer palette recognized automatically. overview supported color codes can obtained display.brewer.() RColorBrewer package.","code":"# blank theme set_theme( base = theme_blank(), axis.title.size = .9, axis.textsize = .9, legend.size = .7, legend.title.size = .8, geom.label.size = 3 ) plot_grpfrq( efc$e42dep, efc$e15relat, geom.colors = \"PuRd\", show.values = FALSE ) library(RColorBrewer) display.brewer.all()"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"plot-with-flipped-coordinates","dir":"Articles","previous_headings":"","what":"Plot with flipped coordinates","title":"Customize Plot Appearance","text":"plot’s axes can flipped using coord.flip = TRUE. needed, labels can placed inside bars vjust hjust arguments. cases, might need adjust label colors geom.label.color = \"white\".","code":"set_theme(geom.label.color = \"white\", geom.label.size = 3) # labels appear very large due to export metrics plot_grpfrq(efc$e42dep, efc$e16sex, coord.flip = TRUE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"adding-plot-margins","dir":"Articles","previous_headings":"","what":"Adding plot margins","title":"Customize Plot Appearance","text":"Plots margins towards axes may look strange people (, though). restore ggplot-default behaviour, use expand.grid argument:","code":"plot_grpfrq(efc$e42dep, efc$e16sex, expand.grid = TRUE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"theme-options","dir":"Articles","previous_headings":"","what":"Theme options","title":"Customize Plot Appearance","text":"can use pre-defined theme ggplot, like theme_bw(), theme_classic() theme_minimal() default theme.","code":"set_theme(base = theme_light()) plot_frq(efc$e42dep)"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"pre-defined-themes","dir":"Articles","previous_headings":"","what":"Pre-defined themes","title":"Customize Plot Appearance","text":"set pre-defined themes sjPlot-package. See ?\"sjPlot-themes\" complete list.","code":"library(sjmisc) data(efc) efc <- to_factor(efc, e42dep, c172code) m <- lm(neg_c_7 ~ pos_v_4 + c12hour + e42dep + c172code, data = efc) # reset theme set_theme(base = theme_grey()) # forest plot of regression model p <- plot_model(m) # default theme p # pre-defined theme p + theme_sjplot()"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"pre-defined-scales","dir":"Articles","previous_headings":"","what":"Pre-defined scales","title":"Customize Plot Appearance","text":"also new scale ggplot-objects, scale_color_sjplot() scale_fill_sjplot(). see currently available color sets, use show_sjplot_pals().","code":"p + theme_sjplot2() + scale_color_sjplot(\"simply\") show_sjplot_pals()"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"set-up-own-themes-based-on-existing-themes","dir":"Articles","previous_headings":"","what":"Set up own themes based on existing themes","title":"Customize Plot Appearance","text":"want use specific theme base building theme, use base argument. using base instead theme, arguments settings colors etc. ignored.","code":"set_theme(base = theme_bw(), axis.linecolor = \"darkgreen\") plot_frq(efc$e42dep)"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"further-customization-options","dir":"Articles","previous_headings":"","what":"Further customization options","title":"Customize Plot Appearance","text":"plotting function invisibly returns ggplot-object. can add options customize appearance plot, like following example, count axis hidden (color set white):","code":"set_theme( base = theme_classic(), axis.tickslen = 0, # hides tick marks axis.title.size = .9, axis.textsize = .9, legend.size = .7, legend.title.size = .8, geom.label.size = 3.5 ) plot_grpfrq( efc$e42dep, efc$e16sex, coord.flip = TRUE, show.axis.values = FALSE ) + theme(axis.line.x = element_line(color = \"white\"))"},{"path":"https://strengejacke.github.io/sjPlot/articles/custplot.html","id":"plot-legend","dir":"Articles","previous_headings":"","what":"Plot legend","title":"Customize Plot Appearance","text":"plot’s legend can customized via various legend.-arguments, see following examples:","code":"set_theme( base = theme_classic(), legend.title.face = \"italic\", # title font face legend.inside = TRUE, # legend inside plot legend.color = \"grey50\", # legend label color legend.pos = \"bottom right\", # legend position inside plot axis.title.size = .9, axis.textsize = .9, legend.size = .7, legend.title.size = .8, geom.label.size = 3 ) plot_grpfrq(efc$e42dep, efc$e16sex, coord.flip = TRUE) set_theme( base = theme_classic(), axis.linecolor = \"white\", # \"remove\" axis lines axis.textcolor.y = \"darkred\", # set axis label text only for y axis axis.tickslen = 0, # \"remove\" tick marks legend.title.color = \"red\", # legend title color legend.title.size = 2, # legend title size legend.color = \"green\", # legend label color legend.pos = \"top\", # legend position above plot axis.title.size = .9, axis.textsize = .9, legend.size = .7, geom.label.size = 3 ) plot_grpfrq(efc$e42dep, efc$e16sex)"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_interactions.html","id":"two-way-interactions","dir":"Articles","previous_headings":"","what":"Two-Way-Interactions","title":"Plotting Interaction Effects of Regression Models","text":"Note: better understand principle plotting interaction terms, might helpful read vignette marginal effects first. plot marginal effects interaction terms, least two model terms need specified (terms define interaction) terms-argument, effects computed. plot marginal effects three-way-interactions, three terms need specified terms. convenient way automatically plot interactions type = \"int\", scans model formula interaction terms uses terms-argument. type = \"int\", terms need specified. Note plot type automatically uses first interaction term formula x-axis, second term used grouping factor. Furthermore, continuous variables used second term, can specify preset-values term mdrt.values-argument, used grouping levels. example, second term factor two levels (male/female), need choosing specific values moderator. switch terms, example barthtot c161sex, simply switch order terms terms-argument use type = \"pred\". switch terms plot-type type = \"int\", need re-fit model change formula accordingly, .e. using c161sex first term interaction. default, continuous variables, minimum maximum values chosen grouping levels, 0 100 - ’s previous two plots identical. options well, e.g. mean-value +/- 1 standard deviation (suggested Cohen Cohen continuous variables popularized Aiken West 1991), can specified using mdrt.values.","code":"library(sjPlot) library(sjmisc) library(ggplot2) data(efc) theme_set(theme_sjplot()) # make categorical efc$c161sex <- to_factor(efc$c161sex) # fit model with interaction fit <- lm(neg_c_7 ~ c12hour + barthtot * c161sex, data = efc) plot_model(fit, type = \"pred\", terms = c(\"barthtot\", \"c161sex\")) plot_model(fit, type = \"int\") plot_model(fit, type = \"pred\", terms = c(\"c161sex\", \"barthtot [0, 100]\")) # fit model with interaction, switching terms in formula fit <- lm(neg_c_7 ~ c12hour + c161sex * barthtot, data = efc) plot_model(fit, type = \"int\") plot_model(fit, type = \"int\", mdrt.values = \"meansd\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_interactions.html","id":"three-way-interactions","dir":"Articles","previous_headings":"","what":"Three-Way-Interactions","title":"Plotting Interaction Effects of Regression Models","text":"Since terms-argument accepts three model terms, can also compute marginal effects 3-way-interaction. , type = \"int\" automatically plot interaction terms, however, using mdrt.values = \"minmax\" default - case, “levels” 0 100 continuous variable barthtot chosen default.","code":"# fit model with 3-way-interaction fit <- lm(neg_c_7 ~ c12hour * barthtot * c161sex, data = efc) # select only levels 30, 50 and 70 from continuous variable Barthel-Index plot_model(fit, type = \"pred\", terms = c(\"c12hour\", \"barthtot [30,50,70]\", \"c161sex\")) plot_model(fit, type = \"int\") #> [[1]] #> #> [[2]] #> #> [[3]] #> #> [[4]]"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_interactions.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Plotting Interaction Effects of Regression Models","text":"Aiken West (1991). Multiple Regression: Testing Interpreting Interactions.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_marginal_effects.html","id":"marginal-effects","dir":"Articles","previous_headings":"","what":"Marginal effects","title":"Plotting Marginal Effects of Regression Models","text":"plot_model(type = \"pred\") computes predicted values possible levels values model’s predictors. simplest case, fitted model passed first argument, followed type argument term question terms argument: plot shows predicted values response value term c12hour.","code":"library(sjPlot) library(ggplot2) data(efc) theme_set(theme_sjplot()) fit <- lm(barthtot ~ c12hour + neg_c_7 + c161sex + c172code, data = efc) plot_model(fit, type = \"pred\", terms = \"c12hour\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_marginal_effects.html","id":"marginal-effects-for-different-groups","dir":"Articles","previous_headings":"Marginal effects","what":"Marginal effects for different groups","title":"Plotting Marginal Effects of Regression Models","text":"terms-argument accepts three model terms, second third term indicate grouping levels. allows predictions term question different levels model terms: second grouping structure can defined, create plot multiple panels grid layout:","code":"plot_model(fit, type = \"pred\", terms = c(\"c12hour\", \"c172code\")) plot_model(fit, type = \"pred\", terms = c(\"c12hour\", \"c172code\", \"c161sex\"))"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_marginal_effects.html","id":"marginal-effects-at-specific-values-or-levels","dir":"Articles","previous_headings":"Marginal effects","what":"Marginal effects at specific values or levels","title":"Plotting Marginal Effects of Regression Models","text":"terms-argument defines model terms interest, model term defines grouping structure can limited certain values. allows compute plot marginal effects terms specific values . define values, put square brackets directly term name: terms = c(\"c12hour [30, 50, 80]\", \"c172code [1,3]\") Note plot, although values 30, 50 80 selected c12hour, continuous scale automatically adds panel grids every 5 units along x-axis. Defining values especially useful variables , instance, log-transformed. plot_model() typically uses range log-transformed variable, cases want. situation, specify range terms-argument. brackets terms-argument also accept name valid function, (back-)transform predicted valued. example, alternative specify values exponentiated, indicated [exp] terms-argument:","code":"plot_model(fit, type = \"pred\", terms = c(\"c12hour [30, 50, 80]\", \"c172code [1,3]\")) data(mtcars) mpg_model <- lm(mpg ~ log(hp), data = mtcars) # x-values and predictions based on the log(hp)-values plot_model(mpg_model, type = \"pred\", terms = \"hp\") # x-values and predictions based on hp-values from 50 to 150 plot_model(mpg_model, type = \"pred\", terms = \"hp [50:150]\") # x-values and predictions based on exponentiated hp-values plot_model(mpg_model, type = \"pred\", terms = \"hp [exp]\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_marginal_effects.html","id":"polynomial-terms-and-splines","dir":"Articles","previous_headings":"Marginal effects","what":"Polynomial terms and splines","title":"Plotting Marginal Effects of Regression Models","text":"function also works models polynomial terms splines. Following code reproduces plot ?splines::bs:","code":"library(splines) data(women) fm1 <- lm(weight ~ bs(height, df = 5), data = women) plot_model(fm1, type = \"pred\", terms = \"height\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_marginal_effects.html","id":"different-constant-values-for-factors","dir":"Articles","previous_headings":"Marginal effects","what":"Different constant values for factors","title":"Plotting Marginal Effects of Regression Models","text":"Model predictions based possible combinations model terms, - roughly speaking - created using expand.grid(). terms question, values used combinations. model predictors specified terms-argument, held constant (achieved sjstats::typical_value()). default, continuous variables set mean, factors set reference level. However, one may want set factors proportions instead reference level. E.g., factor gender value 0 female value 1 male persons, set 0 marginal effects computed type = \"pred\". 40% sample female persons, another possibility hold factor constant use value .4 (reflecting proportion 40%). required, use type = \"eff\", internally call predict() compute marginal effects, rather effects::effect().","code":"data(efc) efc$c172code <- sjlabelled::as_factor(efc$c172code) fit <- lm(neg_c_7 ~ c12hour + c172code, data = efc) # reference category is used for \"c172code\", i.e. c172code # used the first level as value for predictions plot_model(fit, type = \"pred\", terms = \"c12hour\") # proportion is used for \"c172code\", i.e. it is set to # mean(sjlabelled::as_numeric(efc$c172code), na.rm = T), # which is about 1.9715 plot_model(fit, type = \"eff\", terms = \"c12hour\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_marginal_effects.html","id":"interaction-terms","dir":"Articles","previous_headings":"","what":"Interaction terms","title":"Plotting Marginal Effects of Regression Models","text":"Plotting interaction terms described separate vignette.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"fitting-a-logistic-regression-model","dir":"Articles","previous_headings":"","what":"Fitting a logistic regression model","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"First, fit model used following examples. examples work way model well.","code":"# create binary response y <- ifelse(efc$neg_c_7 < median(na.omit(efc$neg_c_7)), 0, 1) # create data frame for fitting model df <- data.frame( y = to_factor(y), sex = to_factor(efc$c161sex), dep = to_factor(efc$e42dep), barthel = efc$barthtot, education = to_factor(efc$c172code) ) # set variable label for response set_label(df$y) <- \"High Negative Impact\" # fit model m1 <- glm(y ~., data = df, family = binomial(link = \"logit\"))"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"plotting-estimates-of-generalized-linear-models","dir":"Articles","previous_headings":"","what":"Plotting estimates of generalized linear models","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"simplest function call just passing model object argument. default, estimates sorted descending order, highest effect top. “neutral” line, .e. vertical intercept indicates effect (x-axis position 1 glm’s position 0 linear models), drawn slightly thicker grid lines. can change line color vline.color-argument.","code":"plot_model(m1) plot_model(m1, vline.color = \"red\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"sorting-estimates","dir":"Articles","previous_headings":"","what":"Sorting estimates","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"default, estimates sorted order introduced model. Use sort.est = TRUE sort estimates descending order, highest lowest value. Another way sort estimates use order.terms-argument. numeric vector, indicating order estimates plot. summary, see “sex2” first term, followed three dependency-categories (position 2-4), Barthel-Index (5) two levels intermediate high level education (6 7). Now want educational levels (6 7) first, gender (1), followed dependency (2-4)finally Barthel-Index (5). Use order numeric vector order.terms-argument.","code":"plot_model(m1, sort.est = TRUE) summary(m1) #> #> Call: #> glm(formula = y ~ ., family = binomial(link = \"logit\"), data = df) #> #> Coefficients: #> Estimate Std. Error z value Pr(>|z|) #> (Intercept) 0.700232 0.576715 1.214 0.224682 #> sex2 0.649136 0.186186 3.486 0.000489 *** #> dep2 0.485259 0.361498 1.342 0.179480 #> dep3 1.125130 0.361977 3.108 0.001882 ** #> dep4 0.910194 0.441774 2.060 0.039368 * #> barthel -0.029802 0.004732 -6.298 3.02e-10 *** #> education2 0.226525 0.200298 1.131 0.258081 #> education3 0.283600 0.249327 1.137 0.255346 #> --- #> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 #> #> (Dispersion parameter for binomial family taken to be 1) #> #> Null deviance: 1122.16 on 814 degrees of freedom #> Residual deviance: 939.77 on 807 degrees of freedom #> (93 observations deleted due to missingness) #> AIC: 955.77 #> #> Number of Fisher Scoring iterations: 4 plot_model(m1, order.terms = c(6, 7, 1, 2, 3, 4, 5))"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"estimates-on-the-untransformed-scale","dir":"Articles","previous_headings":"","what":"Estimates on the untransformed scale","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"default, plot_model() automatically exponentiates coefficients, appropriate (e.g. models log logit link). can explicitley prevent transformation setting transform-argument NULL, apply transformation using character vector function name.","code":"plot_model(m1, transform = NULL) plot_model(m1, transform = \"plogis\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"showing-value-labels","dir":"Articles","previous_headings":"","what":"Showing value labels","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"default, just dots error bars plotted. Use show.values = TRUE show value labels estimates values, use show.p = FALSE suppress asterisks indicate significance level p-values. Use value.offset adjust relative positioning value labels dots lines.","code":"plot_model(m1, show.values = TRUE, value.offset = .3)"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"labelling-the-plot","dir":"Articles","previous_headings":"","what":"Labelling the plot","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"seen examples, default, plotting-functions sjPlot retrieve value variable labels data labelled, using sjlabelled-package. data labelled, variable names used. cases, use arguments title, axis.labels axis.title annotate plot title axes. want variable names instead labels, even labelled data, use \"\" argument-value, e.g. axis.labels = \"\", set auto.label FALSE. Furthermore, plot_model() applies case-conversion labels default, using snakecase-package. converts labels human-readable versions. Use case = NULL turn case-conversion , refer package-vignette snakecase-package options.","code":"data(iris) m2 <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Species, data = iris) # variable names as labels, but made \"human readable\" # separating dots are removed plot_model(m2) # to use variable names even for labelled data plot_model(m1, axis.labels = \"\", title = \"my own title\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"pick-or-remove-specific-terms-from-plot","dir":"Articles","previous_headings":"","what":"Pick or remove specific terms from plot","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"Use terms resp. rm.terms select specific terms () plotted.","code":"# keep only coefficients sex2, dep2 and dep3 plot_model(m1, terms = c(\"sex2\", \"dep2\", \"dep3\")) # remove coefficients sex2, dep2 and dep3 plot_model(m1, rm.terms = c(\"sex2\", \"dep2\", \"dep3\"))"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"standardized-estimates","dir":"Articles","previous_headings":"","what":"Standardized estimates","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"linear models, can also plot standardized beta coefficients, using type = \"std\" type = \"std2\". two options differ way coefficients standardized. type = \"std2\" plots standardized beta values, however, standardization follows Gelman’s (2008) suggestion, rescaling estimates dividing two standard deviations instead just one.","code":"plot_model(m2, type = \"std\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"bayesian-models-fitted-with-stan","dir":"Articles","previous_headings":"","what":"Bayesian models (fitted with Stan)","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"plot_model() also supports stan-models fitted rstanarm brms packages. However, differences compared previous plot examples. First, course, confidence intervals, uncertainty intervals - high density intervals, precise. Second, ’s just one interval range, inner outer probability. default, inner probability fixed .5 (50%), outer probability specified via ci.lvl (defaults .89 (89%) Bayesian models). However, can also use arguments prob.inner prob.outer define intervals boundaries. Third, point estimate default median, can also another value, like mean. can specified bpe-argument.","code":"if (require(\"rstanarm\", quietly = TRUE)) { # make sure we apply a nice theme library(ggplot2) theme_set(theme_sjplot()) data(mtcars) m <- stan_glm(mpg ~ wt + am + cyl + gear, data = mtcars, chains = 1) # default model plot_model(m) # same model, with mean point estimate, dot-style for point estimate # and different inner/outer probabilities of the HDI plot_model( m, bpe = \"mean\", bpe.style = \"dot\", prob.inner = .4, prob.outer = .8 ) }"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"tweaking-plot-appearance","dir":"Articles","previous_headings":"","what":"Tweaking plot appearance","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"several options customize plot appearance: colors-argument either takes name valid colorbrewer palette (see also related vignette), \"bw\" \"gs\" black/white greyscaled colors, string color name. value.offset value.size adjust positioning size value labels, shown. dot.size line.size change size dots error bars. vline.color changes neutral “intercept” line. width, alpha scale passed certain ggplot-geoms, like geom_errorbar() geom_density_ridges().","code":"plot_model( m1, colors = \"Accent\", show.values = TRUE, value.offset = .4, value.size = 4, dot.size = 3, line.size = 1.5, vline.color = \"blue\", width = 1.5 )"},{"path":"https://strengejacke.github.io/sjPlot/articles/plot_model_estimates.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Plotting Estimates (Fixed Effects) of Regression Models","text":"Gelman (2008) Scaling regression inputs dividing two standard deviations. Statistics Medicine 27: 2865–2873.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/sjtitemanalysis.html","id":"performing-an-item-analysis-of-a-scale-or-index","dir":"Articles","previous_headings":"","what":"Performing an item analysis of a scale or index","title":"Item Analysis of a Scale or an Index","text":"function performs item analysis certain statistics useful scale index development. Following statistics computed variable (column) data frame: percentage missing values mean value standard deviation skew item difficulty item discrimination Cronbach’s Alpha item removed scale mean (average) inter-item-correlation Optional, following statistics can computed well: kurstosis Shapiro-Wilk Normality Test argument factor.groups NULL, data frame df splitted groups, assuming factor.groups indicate columns (variables) data frame belong certain factor (see, instance, return value function tab_pca() parameters::principal_components() example retrieving factor groups scale). useful perfomed principal component analysis factor analysis first step, now want see whether found factors / components represent scale index score. demonstrate function, first need data:","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/sjtitemanalysis.html","id":"index-score-with-one-component","dir":"Articles","previous_headings":"","what":"Index score with one component","title":"Item Analysis of a Scale or an Index","text":"simplest function call just passing data frame argument. case, function assumes variables data frame belong one factor . Component 1 interprete output, may consider following values rule--thumbs indicating reliable scale: item difficulty range 0.2 0.8. Ideal value p+(1-p)/2 (mostly 0.5 0.8) item discrimination, acceptable values 0.2 higher; closer 1 better case total Cronbach’s Alpha value acceptable cut-0.7 (mostly index items), mean inter-item-correlation alternative measure indicate acceptability; satisfactory range lies 0.2 0.4","code":"tab_itemscale(mydf)"},{"path":"https://strengejacke.github.io/sjPlot/articles/sjtitemanalysis.html","id":"index-score-with-more-than-one-component","dir":"Articles","previous_headings":"","what":"Index score with more than one component","title":"Item Analysis of a Scale or an Index","text":"items COPE index used example represent single factor. can check , instance, principle component analysis. know, variable belongs factor (.e. variable part component), can pass numeric vector group indices argument factor.groups. case, data frame divided components specified factor.groups, component (factor) analysed. PCA extracted two components. Now tab_itemscale() … performs item analysis components, showing whether reliable useful scale index score builds index component, standardizing scale adds component-correlation-matrix, see whether index scores (based components) highly correlated . Component 1 Component 2 ","code":"library(parameters) # Compute PCA on Cope-Index, and retrieve # factor indices for each COPE index variable pca <- parameters::principal_components(mydf) factor.groups <- parameters::closest_component(pca) tab_itemscale(mydf, factor.groups) #> Warning: Data frame needs at least three columns for reliability-test."},{"path":"https://strengejacke.github.io/sjPlot/articles/sjtitemanalysis.html","id":"adding-further-statistics","dir":"Articles","previous_headings":"","what":"Adding further statistics","title":"Item Analysis of a Scale or an Index","text":"Component 1 Component 2 ","code":"tab_itemscale(mydf, factor.groups, show.shapiro = TRUE, show.kurtosis = TRUE) #> Warning: Data frame needs at least three columns for reliability-test."},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_bayes.html","id":"bayesian-models-summaries-as-html-table","dir":"Articles","previous_headings":"","what":"Bayesian models summaries as HTML table","title":"Summary of Bayesian Models as HTML Table","text":"Bayesian regression models, differences table output simple models mixed models tab_models() use Highest Density Intervals instead confidence intervals, Bayes-R-squared values, different “point estimate” (, default, median posterior draws).","code":"tab_model(m1)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_bayes.html","id":"multivariate-response-models","dir":"Articles","previous_headings":"","what":"Multivariate response models","title":"Summary of Bayesian Models as HTML Table","text":"multivariate response models, like mediator-analysis-models, recommended print just one model table, regression displayed “model” output.","code":"tab_model(m2)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_bayes.html","id":"show-two-credible-interval-column","dir":"Articles","previous_headings":"","what":"Show two Credible Interval-column","title":"Summary of Bayesian Models as HTML Table","text":"show second CI-column, use show.ci50 = TRUE.","code":"tab_model(m2, show.ci50 = TRUE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_bayes.html","id":"mixing-multivariate-and-univariate-response-models","dir":"Articles","previous_headings":"","what":"Mixing multivariate and univariate response models","title":"Summary of Bayesian Models as HTML Table","text":"multivariate univariate response models displayed one table, column Response added multivariate response model, indicate different outcomes.","code":"tab_model(m1, m2)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_mixed.html","id":"mixed-models-summaries-as-html-table","dir":"Articles","previous_headings":"","what":"Mixed models summaries as HTML table","title":"Summary of Mixed Models as HTML Table","text":"Unlike tables non-mixed models, tab_models() adds additional information random effects table output mixed models. can hide information show.icc = FALSE show.re.var = FALSE. Furthermore, R-squared values marginal conditional R-squared statistics, based Nakagawa et al. 2017. marginal R-squared considers variance fixed effects, conditional R-squared takes fixed random effects account. p-value simple approximation, based t-statistics using normal distribution function. precise p-value can computed using p.val = \"kr\". case, applies linear mixed models, computation p-values based conditional F-tests Kenward-Roger approximation degrees freedom (using using pbkrtest-package). Note computation time consuming thus used default. can also display approximated degrees freedom show.df.","code":"m1 <- lmer(neg_c_7 ~ c160age + c161sex + e42dep + (1 | cluster), data = efc) m2 <- lmer(Reaction ~ Days + (1 + Days | Subject), data = sleepstudy) tab_model(m1, m2) tab_model(m1, p.val = \"kr\", show.df = TRUE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_mixed.html","id":"generalized-linear-mixed-models","dir":"Articles","previous_headings":"","what":"Generalized linear mixed models","title":"Summary of Mixed Models as HTML Table","text":"tab_model() can also print combine models different link-functions.","code":"data(\"efc\") efc$neg_c_7d <- ifelse(efc$neg_c_7 < median(efc$neg_c_7, na.rm = TRUE), 0, 1) efc$cluster <- as.factor(efc$e15relat) m3 <- glmer( neg_c_7d ~ c160age + c161sex + e42dep + (1 | cluster), data = efc, family = binomial(link = \"logit\") ) tab_model(m1, m3)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_mixed.html","id":"more-complex-models","dir":"Articles","previous_headings":"","what":"More complex models","title":"Summary of Mixed Models as HTML Table","text":"Finally, example glmmTMB-package show easy print zero-inflated generalized linear mixed models HTML table.","code":"library(glmmTMB) data(\"Salamanders\") m4 <- glmmTMB( count ~ spp + mined + (1 | site), ziformula = ~ spp + mined, family = truncated_poisson(link = \"log\"), data = Salamanders ) tab_model(m1, m3, m4, show.ci = FALSE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_mixed.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Summary of Mixed Models as HTML Table","text":"Nakagawa S, Johnson P, Schielzeth H (2017) coefficient determination R2 intra-class correlation coefficient generalized linear mixed-effects models revisted expanded. J. R. Soc. Interface 14. doi: 10.1098/rsif.2017.0213","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"a-simple-html-table-from-regression-results","dir":"Articles","previous_headings":"","what":"A simple HTML table from regression results","title":"Summary of Regression Models as HTML Table","text":"First, fit two linear models demonstrate tab_model()-function. simplest way producing table output passing fitted model parameter. default, estimates, confidence intervals (CI) p-values (p) reported. summary, numbers observations well R-squared values shown.","code":"m1 <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc) m2 <- lm(neg_c_7 ~ c160age + c12hour + c161sex + e17age, data = efc) tab_model(m1)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"automatic-labelling","dir":"Articles","previous_headings":"","what":"Automatic labelling","title":"Summary of Regression Models as HTML Table","text":"sjPlot-packages features labelled data, coefficients table already labelled example. name dependent variable(s) used main column header model. non-labelled data, coefficient names shown. factors involved auto.label = TRUE, “pretty” parameters names used (see format_parameters().","code":"data(mtcars) m.mtcars <- lm(mpg ~ cyl + hp + wt, data = mtcars) tab_model(m.mtcars) set.seed(2) dat <- data.frame( y = runif(100, 0, 100), drug = as.factor(sample(c(\"nonsense\", \"useful\", \"placebo\"), 100, TRUE)), group = as.factor(sample(c(\"control\", \"treatment\"), 100, TRUE)) ) pretty_names <- lm(y ~ drug * group, data = dat) tab_model(pretty_names)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"turn-off-automatic-labelling","dir":"Articles","previous_headings":"Automatic labelling","what":"Turn off automatic labelling","title":"Summary of Regression Models as HTML Table","text":"turn automatic labelling, use auto.label = FALSE, provide empty character vector pred.labels dv.labels. models non-labelled data factors.","code":"tab_model(m1, auto.label = FALSE) tab_model(pretty_names, auto.label = FALSE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"more-than-one-model","dir":"Articles","previous_headings":"","what":"More than one model","title":"Summary of Regression Models as HTML Table","text":"tab_model() can print multiple models , printed side--side. Identical coefficients matched row.","code":"tab_model(m1, m2)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"generalized-linear-models","dir":"Articles","previous_headings":"","what":"Generalized linear models","title":"Summary of Regression Models as HTML Table","text":"generalized linear models, ouput slightly adapted. Instead Estimates, column named Odds Ratios, Incidence Rate Ratios etc., depending model. coefficients case automatically converted (exponentiated). Furthermore, pseudo R-squared statistics shown summary.","code":"m3 <- glm( tot_sc_e ~ c160age + c12hour + c161sex + c172code, data = efc, family = poisson(link = \"log\") ) efc$neg_c_7d <- ifelse(efc$neg_c_7 < median(efc$neg_c_7, na.rm = TRUE), 0, 1) m4 <- glm( neg_c_7d ~ c161sex + barthtot + c172code, data = efc, family = binomial(link = \"logit\") ) tab_model(m3, m4)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"untransformed-estimates-on-the-linear-scale","dir":"Articles","previous_headings":"Generalized linear models","what":"Untransformed estimates on the linear scale","title":"Summary of Regression Models as HTML Table","text":"plot estimates linear scale, use transform = NULL.","code":"tab_model(m3, m4, transform = NULL, auto.label = FALSE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"more-complex-models","dir":"Articles","previous_headings":"","what":"More complex models","title":"Summary of Regression Models as HTML Table","text":"models, like hurdle- zero-inflated models, also work tab_model(). case, zero inflation model indicated table. Use show.zeroinf = FALSE hide part table. can combine model one table.","code":"library(pscl) data(\"bioChemists\") m5 <- zeroinfl(art ~ fem + mar + kid5 + ment | kid5 + phd + ment, data = bioChemists) tab_model(m5) tab_model(m1, m3, m5, auto.label = FALSE, show.ci = FALSE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"show-or-hide-further-columns","dir":"Articles","previous_headings":"","what":"Show or hide further columns","title":"Summary of Regression Models as HTML Table","text":"tab_model() argument allow show hide specific columns output: show.est show/hide column model estimates. show.ci show/hide column confidence intervals. show.se show/hide column standard errors. show.std show/hide column standardized estimates (standard errors). show.p show/hide column p-values. show.stat show/hide column coefficients’ test statistics. show.df linear mixed models, p-values based degrees freedom Kenward-Rogers approximation, degrees freedom shown.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"adding-columns","dir":"Articles","previous_headings":"Show or hide further columns","what":"Adding columns","title":"Summary of Regression Models as HTML Table","text":"following example, standard errors, standardized coefficients test statistics also shown.","code":"tab_model(m1, show.se = TRUE, show.std = TRUE, show.stat = TRUE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"removing-columns","dir":"Articles","previous_headings":"Show or hide further columns","what":"Removing columns","title":"Summary of Regression Models as HTML Table","text":"following example, default columns removed.","code":"tab_model(m3, m4, show.ci = FALSE, show.p = FALSE, auto.label = FALSE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"removing-and-sorting-columns","dir":"Articles","previous_headings":"Show or hide further columns","what":"Removing and sorting columns","title":"Summary of Regression Models as HTML Table","text":"Another way remove columns, also allows reorder columns, col.order-argument. character vector, element indicates column output. value \"est\", instance, indicates estimates, \"std.est\" column standardized estimates . default, col.order contains possible columns. columns shown (see previous tables, example using show.se = TRUE show standard errors, show.st = TRUE show standardized estimates) printed default. Colums excluded col.order shown, matter show*-arguments TRUE FALSE. show.se = TRUE, butcol.order contain element \"se\", standard errors shown. hand, show.est = FALSE, col.order include element \"est\", columns estimates shown. summary, col.order can used exclude columns table change order colums.","code":"tab_model( m1, show.se = TRUE, show.std = TRUE, show.stat = TRUE, col.order = c(\"p\", \"stat\", \"est\", \"std.se\", \"se\", \"std.est\") )"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"collapsing-columns","dir":"Articles","previous_headings":"Show or hide further columns","what":"Collapsing columns","title":"Summary of Regression Models as HTML Table","text":"collapse.ci collapse.se, columns confidence intervals standard errors can collapsed one column together estimates. Sometimes table layout required.","code":"tab_model(m1, collapse.ci = TRUE)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"defining-own-labels","dir":"Articles","previous_headings":"","what":"Defining own labels","title":"Summary of Regression Models as HTML Table","text":"different options change labels column headers coefficients, e.g. : pred.labels change names coefficients Predictors column. Note length pred.labels must exactly match amount predictors Predictor column. dv.labels change names model columns, labelled variable labels / names dependent variables. , various string.*-arguments, change name column headings.","code":"tab_model( m1, m2, pred.labels = c(\"Intercept\", \"Age (Carer)\", \"Hours per Week\", \"Gender (Carer)\", \"Education: middle (Carer)\", \"Education: high (Carer)\", \"Age (Older Person)\"), dv.labels = c(\"First Model\", \"M2\"), string.pred = \"Coeffcient\", string.ci = \"Conf. Int (95%)\", string.p = \"P-Value\" )"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"including-reference-level-of-categorical-predictors","dir":"Articles","previous_headings":"","what":"Including reference level of categorical predictors","title":"Summary of Regression Models as HTML Table","text":"default, categorical predictors, variable names categories regression coefficients shown table output. can include reference level categorical predictors setting show.reflvl = TRUE. show variable names, categories include reference level, also set prefix.labels = \"varname\".","code":"library(glmmTMB) data(\"Salamanders\") model <- glm( count ~ spp + Wtemp + mined + cover, family = poisson(), data = Salamanders ) tab_model(model) tab_model(model, show.reflvl = TRUE) tab_model(model, show.reflvl = TRUE, prefix.labels = \"varname\")"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"style-of-p-values","dir":"Articles","previous_headings":"","what":"Style of p-values","title":"Summary of Regression Models as HTML Table","text":"can change style p-values displayed argument p.style. p.style = \"stars\", p-values indicated * table. p<0.05 ** p<0.01 *** p<0.001 Another option scientific notation, using p.style = \"scientific\", also can combined digits.p.","code":"tab_model(m1, m2, p.style = \"stars\") tab_model(m1, m2, p.style = \"scientific\", digits.p = 2)"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"automatic-matching-for-named-vectors","dir":"Articles","previous_headings":"Style of p-values","what":"Automatic matching for named vectors","title":"Summary of Regression Models as HTML Table","text":"Another way easily assign labels named vectors. case, doesn’t matter pred.labels labels coefficients model(s), order labels passed tab_model(). requirement labels’ names equal coefficients names appear summary()-output.","code":"# example, coefficients are \"c161sex2\" or \"c172code3\" summary(m1) #> #> Call: #> lm(formula = barthtot ~ c160age + c12hour + c161sex + c172code, #> data = efc) #> #> Residuals: #> Min 1Q Median 3Q Max #> -75.144 -14.944 4.401 18.661 72.393 #> #> Coefficients: #> Estimate Std. Error t value Pr(>|t|) #> (Intercept) 87.14994 4.68009 18.621 < 2e-16 *** #> c160age -0.20716 0.07211 -2.873 0.00418 ** #> c12hour -0.27883 0.01865 -14.950 < 2e-16 *** #> c161sex2 -0.39402 2.08893 -0.189 0.85044 #> c172code2 1.36596 2.28440 0.598 0.55004 #> c172code3 -1.64045 2.84037 -0.578 0.56373 #> --- #> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 #> #> Residual standard error: 25.35 on 815 degrees of freedom #> (87 observations deleted due to missingness) #> Multiple R-squared: 0.2708, Adjusted R-squared: 0.2664 #> F-statistic: 60.54 on 5 and 815 DF, p-value: < 2.2e-16 pl <- c( `(Intercept)` = \"Intercept\", e17age = \"Age (Older Person)\", c160age = \"Age (Carer)\", c12hour = \"Hours per Week\", barthtot = \"Barthel-Index\", c161sex2 = \"Gender (Carer)\", c172code2 = \"Education: middle (Carer)\", c172code3 = \"Education: high (Carer)\", a_non_used_label = \"We don't care\" ) tab_model( m1, m2, m3, m4, pred.labels = pl, dv.labels = c(\"Model1\", \"Model2\", \"Model3\", \"Model4\"), show.ci = FALSE, show.p = FALSE, transform = NULL )"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html","id":"keep-or-remove-coefficients-from-the-table","dir":"Articles","previous_headings":"","what":"Keep or remove coefficients from the table","title":"Summary of Regression Models as HTML Table","text":"Using terms- rm.terms-argument allows us explicitly show remove specific coefficients table output. Note names terms keep remove match coefficients names. categorical predictors, one example :","code":"tab_model(m1, terms = c(\"c160age\", \"c12hour\")) tab_model(m1, rm.terms = c(\"c172code2\", \"c161sex2\"))"},{"path":[]},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_robust.html","id":"robust-covariance-matrix-estimation-from-model-parameters","dir":"Articles","previous_headings":"Classical Regression Models","what":"Robust Covariance Matrix Estimation from Model Parameters","title":"Robust Estimation of Standard Errors, Confidence Intervals and p-values","text":"two arguments allow choosing different methods options robust estimation: vcov.fun vcov.args. Let us start simple example, uses heteroskedasticity-consistent covariance matrix estimation estimation-type “HC3” (.e. sandwich::vcovHC(type = \"HC3\") called):","code":"data(iris) model <- lm(Petal.Length ~ Sepal.Length * Species + Sepal.Width, data = iris) # model parameters, where SE, CI and p-values are based on robust estimation tab_model(model, vcov.fun = \"HC3\", show.se = TRUE) # compare standard errors to result from sandwich-package unname(sqrt(diag(sandwich::vcovHC(model)))) #> [1] 0.45382603 0.11884474 0.69296611 0.63031982 0.08318559 0.13045539 0.11841325"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_robust.html","id":"cluster-robust-covariance-matrix-estimation-sandwich","dir":"Articles","previous_headings":"Classical Regression Models","what":"Cluster-Robust Covariance Matrix Estimation (sandwich)","title":"Robust Estimation of Standard Errors, Confidence Intervals and p-values","text":"another covariance matrix estimation required, use vcov.fun-argument. argument needs suffix related vcov*()-functions value, .e. vcov.fun = \"CL\" call sandwich::vcovCL(), vcov.fun = \"HAC\" call sandwich::vcovHAC(). specific estimation type can changed vcov.args. E.g., sandwich::vcovCL() accepts estimation types HC0 HC3. next example, use clustered covariance matrix estimation HC1-estimation type. Usually, clustered covariance matrix estimation used cluster-structure data. variable indicating cluster-structure can defined sandwich::vcovCL() cluster-argument. tab_model(), additional arguments passed functions sandwich package can specified vcov.args:","code":"# change estimation-type tab_model(model, vcov.fun = \"CL\", vcov.args = list(type = \"HC1\"), show.se = TRUE) # compare standard errors to result from sandwich-package unname(sqrt(diag(sandwich::vcovCL(model)))) #> [1] 0.42197635 0.11148130 0.65274212 0.58720711 0.07934029 0.12251570 0.11058144 iris$cluster <- factor(rep(LETTERS[1:8], length.out = nrow(iris))) # change estimation-type, defining additional arguments tab_model( model, vcov.fun = \"CL\", vcov.args = list(type = \"HC1\", cluster = iris$cluster), show.se = TRUE ) # compare standard errors to result from sandwich-package unname(sqrt(diag(sandwich::vcovCL(model, cluster = iris$cluster)))) #> [1] 0.33714287 0.07192334 0.51893777 0.26415406 0.07201145 0.09661348 0.05123446"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_robust.html","id":"cluster-robust-covariance-matrix-estimation-clubsandwich","dir":"Articles","previous_headings":"Classical Regression Models","what":"Cluster-Robust Covariance Matrix Estimation (clubSandwich)","title":"Robust Estimation of Standard Errors, Confidence Intervals and p-values","text":"Cluster-robust estimation variance-covariance matrix can also achieved using clubSandwich::vcovCR(). Thus, vcov.fun = \"CR\", related function clubSandwich package called. Note function requires specification cluster-argument.","code":"# create fake-cluster-variable, to demonstrate cluster robust standard errors iris$cluster <- factor(rep(LETTERS[1:8], length.out = nrow(iris))) # cluster-robust estimation tab_model( model, vcov.fun = \"CR1\", vcov.args = list(cluster = iris$cluster), show.se = TRUE ) # compare standard errors to result from clubSsandwich-package unname(sqrt(diag(clubSandwich::vcovCR(model, type = \"CR1\", cluster = iris$cluster)))) #> [1] 0.33028501 0.07046034 0.50838200 0.25878087 0.07054666 0.09464825 0.05019229"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_robust.html","id":"robust-covariance-matrix-estimation-on-standardized-model-parameters","dir":"Articles","previous_headings":"Classical Regression Models","what":"Robust Covariance Matrix Estimation on Standardized Model Parameters","title":"Robust Estimation of Standard Errors, Confidence Intervals and p-values","text":"Finally, robust estimation can combined standardization. However, robust covariance matrix estimation works show.std = \"std\".","code":"# model parameters, robust estimation on standardized model tab_model( model, show.std = \"std\", vcov.fun = \"HC\" )"},{"path":[]},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_robust.html","id":"robust-covariance-matrix-estimation-for-mixed-models","dir":"Articles","previous_headings":"Mixed Models","what":"Robust Covariance Matrix Estimation for Mixed Models","title":"Robust Estimation of Standard Errors, Confidence Intervals and p-values","text":"linear mixed models, definition clustered (“hierarchical” multilevel) structure data, also possible estimate cluster-robust covariance matrix. possible due clubSandwich package, thus need define arguments example.","code":"library(lme4) data(iris) set.seed(1234) iris$grp <- as.factor(sample(1:3, nrow(iris), replace = TRUE)) # fit example model model <- lme4::lmer( Sepal.Length ~ Species * Sepal.Width + Petal.Length + (1 | grp), data = iris ) # normal model parameters, like from 'summary()' tab_model(model) # model parameters, cluster robust estimation for mixed models tab_model( model, vcov.fun = \"CR1\", vcov.args = list(cluster = iris$grp) )"},{"path":"https://strengejacke.github.io/sjPlot/articles/tab_model_robust.html","id":"robust-covariance-matrix-estimation-on-standardized-mixed-model-parameters","dir":"Articles","previous_headings":"Mixed Models","what":"Robust Covariance Matrix Estimation on Standardized Mixed Model Parameters","title":"Robust Estimation of Standard Errors, Confidence Intervals and p-values","text":", robust estimation can combined standardization linear mixed models well, cases also works show.std = \"std\".","code":"# model parameters, cluster robust estimation on standardized mixed model tab_model( model, show.std = \"std\", vcov.fun = \"CR1\", vcov.args = list(cluster = iris$grp) )"},{"path":[]},{"path":"https://strengejacke.github.io/sjPlot/articles/table_css.html","id":"export-table-as-html-file-to-open-in-word-processors","dir":"Articles","previous_headings":"Copying table output to office or word processors","what":"Export table as HTML file to open in word processors","title":"Customizing HTML tables","text":"can save HTML page file usage specifying file-argument saved HTML file can opened word processors like LibreOffice Microsoft Office.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/table_css.html","id":"drag-and-drop-from-browser-or-rstudio-viewer-pane","dir":"Articles","previous_headings":"Copying table output to office or word processors","what":"Drag and drop from browser or RStudio viewer pane","title":"Customizing HTML tables","text":"can directly drag drop table RStudio viewer pane browser word processor. Simply select complete table mouse drag office.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/table_css.html","id":"customizing-table-output-with-the-css-parameter","dir":"Articles","previous_headings":"","what":"Customizing table output with the CSS parameter","title":"Customizing HTML tables","text":"table output HTML format. table style (visual appearance) formatted using Cascading Style Sheets (CSS). bit familiar topics, can easily customize appearance table output. Many table elements (header, row, column, cell, summary row, first row column…) CSS-class attributes, can used change table style. Since sjt.* function well tab_model() different table elements thus different class attributes, first need know styles can customized.","code":""},{"path":"https://strengejacke.github.io/sjPlot/articles/table_css.html","id":"retrieving-customizable-styles","dir":"Articles","previous_headings":"Customizing table output with the CSS parameter","what":"Retrieving customizable styles","title":"Customizing HTML tables","text":"table functions invisibly return several values. return value page.style contains style information HTML table. can print style sheet console using cat()-function: HTML code page.content return value. following code prints HTML code table R console: Now can see table elements associated CSS class attributes.","code":"library(sjPlot) data(efc) m <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc) tab <- tab_model(m) cat(tab$page.style) #>
Lüdecke D (????). sjPlot: Data Visualization for Statistics in Social Science. -R package version 2.8.16.3, https://CRAN.R-project.org/package=sjPlot. +R package version 2.8.17, https://CRAN.R-project.org/package=sjPlot.
@Manual{, title = {sjPlot: Data Visualization for Statistics in Social Science}, author = {Daniel Lüdecke}, - note = {R package version 2.8.16.3}, + note = {R package version 2.8.17}, url = {https://CRAN.R-project.org/package=sjPlot}, }
Fixed issues with renamed arguments in upstream package ggeffects.
Several minor bug fixes.