Commit d44a343d authored by Andreas Tille's avatar Andreas Tille

Update upstream source from tag 'upstream/2.6.1'

Update to upstream version '2.6.1'
with Debian dir d1a44998cf8fa178b07a26d40a1d6b6407475c29
parents 61d89ac7 442efa08
......@@ -2,8 +2,8 @@ Package: sjPlot
Type: Package
Encoding: UTF-8
Title: Data Visualization for Statistics in Social Science
Version: 2.6.0
Date: 2018-08-23
Version: 2.6.1
Date: 2018-10-14
Authors@R: c(
person("Daniel", "Lüdecke", email = "d.luedecke@uke.de", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-8895-3206")),
person("Carsten", "Schwemmer", email = "carsten.schwemmer@uni-bamberg.de", role = "ctb")
......@@ -20,9 +20,9 @@ Description: Collection of plotting and table output functions for data
License: GPL-3
Depends: R (>= 3.2), graphics, grDevices, stats, utils
Imports: broom (>= 0.4.5), dplyr (>= 0.7.5), forcats, ggeffects (>=
0.5.0), glmmTMB, ggplot2 (>= 2.2.1), knitr, lme4 (>= 1.1-12),
0.6.0), glmmTMB, ggplot2 (>= 2.2.1), knitr, lme4 (>= 1.1-12),
magrittr, MASS, modelr, nlme, psych, purrr, rlang, scales,
sjlabelled (>= 1.0.13), sjmisc (>= 2.7.4), sjstats (>= 0.17.0),
sjlabelled (>= 1.0.14), sjmisc (>= 2.7.5), sjstats (>= 0.17.1),
tidyr (>= 0.7.0)
Suggests: AICcmodavg, brms, car, cluster, GPArotation, gridExtra,
ggrepel, ggridges, pscl, rstanarm, survey, TMB, Zelig, testthat
......@@ -31,8 +31,8 @@ BugReports: https://github.com/strengejacke/sjPlot/issues
RoxygenNote: 6.1.0
VignetteBuilder: knitr
NeedsCompilation: no
Packaged: 2018-08-23 16:17:25 UTC; Daniel
Packaged: 2018-10-14 20:28:49 UTC; Daniel
Author: Daniel Lüdecke [aut, cre] (<https://orcid.org/0000-0002-8895-3206>),
Carsten Schwemmer [ctb]
Repository: CRAN
Date/Publication: 2018-08-23 16:50:03 UTC
Date/Publication: 2018-10-14 21:50:03 UTC
This diff is collapsed.
......@@ -50,26 +50,16 @@ export(sjp.chi2)
export(sjp.corr)
export(sjp.fa)
export(sjp.frq)
export(sjp.glm)
export(sjp.glmer)
export(sjp.gpt)
export(sjp.grpfrq)
export(sjp.int)
export(sjp.kfold_cv)
export(sjp.likert)
export(sjp.lm)
export(sjp.lmer)
export(sjp.pca)
export(sjp.poly)
export(sjp.resid)
export(sjp.scatter)
export(sjp.stackfrq)
export(sjp.xtab)
export(sjplot)
export(sjplot_pal)
export(sjt.corr)
export(sjt.fa)
export(sjt.frq)
export(sjt.glm)
export(sjt.glmer)
export(sjt.itemanalysis)
......@@ -170,6 +160,7 @@ importFrom(sjlabelled,get_term_labels)
importFrom(sjlabelled,get_values)
importFrom(sjlabelled,set_labels)
importFrom(sjmisc,add_columns)
importFrom(sjmisc,add_variables)
importFrom(sjmisc,group_labels)
importFrom(sjmisc,group_var)
importFrom(sjmisc,is_empty)
......
# sjPlot 2.6.1
## General
* Removed defunct functions.
## Deprecated
* `sjt.lm()`, `sjt.glm()`, `sjt.lmer()` and `sjt.glmer()` are now deprecated. Please use `tab_model()` instead.
## Changes to functions
* Arguments `dot.size` and `line.size` in `plot_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 when `grids = FALSE`.
* `tab_model()` gets a `p.style` and `p.threshold` argument to indicate significance levels as asteriks, and to determine the threshold for which an estimate is considered as significant.
* `plot_model()` and `plot_models()` get a `p.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 a `list` as argument, as stated in the help-file.
* The `file`-argument now works again in `sjt.itemanalysis()`.
* Argument `show.ci` in `tab_model()` did not compute confidence intervals for different levels.
# sjPlot 2.6.0
## General
......
#' @title Deprecated functions
#' @name sjp.glmer
#'
#' @description A list of deprecated functions.
#'
#' @param ... Not used.
#' @return Nothing.
#'
#' @export
sjp.glmer <- function(...) {
.Defunct("plot_model", package = "sjPlot", msg = "`sjp.glmer()` is defunct. Please use `plot_model()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.glm <- function(...) {
.Defunct("plot_model", package = "sjPlot", msg = "`sjp.glm()` is defunct. Please use `plot_model()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.lmer <- function(...) {
.Defunct("plot_model", package = "sjPlot", msg = "`sjp.lmer()` is defunct. Please use `plot_model()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.lm <- function(...) {
.Defunct("plot_model", package = "sjPlot", msg = "`sjp.lm()` is defunct. Please use `plot_model()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.int <- function(...) {
.Defunct("plot_model", package = "sjPlot", msg = "`sjp.int()` is defunct. Please use `plot_model()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjt.frq <- function(...) {
.Defunct("frq", package = "sjmisc", msg = "`sjt.frq()` is defunct. Please use `sjmisc::frq()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.scatter <- function(...) {
.Defunct("plot_scatter", package = "sjPlot", msg = "`sjp.scatter()` is defunct. Please use `plot_scatter()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.resid <- function(...) {
.Defunct("plot_residuals", package = "sjPlot", msg = "`sjp.resid()` is defunct. Please use `plot_residuals()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.likert <- function(...) {
.Defunct("plot_likert", package = "sjPlot", msg = "`sjp.likert()` is defunct. Please use `plot_likert()` instead.")
}
#' @rdname sjp.glmer
#' @export
sjp.gpt <- function(...) {
.Defunct("plot_gpt", package = "sjPlot", msg = "`sjp.gpt()` is defunct. Please use `plot_gpt()` instead.")
}
......@@ -261,6 +261,7 @@ tab_model_df <- function(x,
aic.list,
n.models,
title = NULL,
footnote = NULL,
col.header = NULL,
show.re.var = FALSE,
show.icc = FALSE,
......@@ -676,6 +677,15 @@ tab_model_df <- function(x,
## TODO add bottom table border
# add optional "footnote" row ----
if (!is.null(footnote)) {
page.content <- paste0(page.content, " <tr>\n")
page.content <- paste0(page.content, sprintf(" <td colspan=\"%i\" class=\"footnote\">%s</td>\n", ncol(x), footnote))
page.content <- paste0(page.content, "</tr>\n")
}
# add table-caption ----
if (!is.null(title))
......
plot_diag_linear <- function(model,
geom.colors,
dot.size,
line.size,
...) {
plot.list <- list()
geom.colors <- col_check2(geom.colors, 2)
......@@ -8,7 +9,7 @@ plot_diag_linear <- function(model,
p <- diag_vif(model)
if (!is.null(p)) plot.list[[length(plot.list) + 1]] <- p
p <- diag_qq(model, geom.colors)
p <- diag_qq(model, geom.colors, dot.size, line.size)
if (!is.null(p)) plot.list[[length(plot.list) + 1]] <- p
p <- diag_reqq(model, dot.size)
......@@ -17,21 +18,25 @@ plot_diag_linear <- function(model,
p <- diag_norm(model, geom.colors)
if (!is.null(p)) plot.list[[length(plot.list) + 1]] <- p
p <- diag_ncv(model)
p <- diag_ncv(model, dot.size, line.size)
if (!is.null(p)) plot.list[[length(plot.list) + 1]] <- p
plot.list
}
plot_diag_glm <- function(model, geom.colors, dot.size, ...) {
plot_diag_glm <- function(model, geom.colors, dot.size, line.size, ...) {
geom.colors <- col_check2(geom.colors, 2)
diag_reqq(model, dot.size)
}
#' @importFrom stats residuals fitted
diag_ncv <- function(model) {
diag_ncv <- function(model, dot.size, line.size) {
if (is.null(dot.size)) dot.size <- 1
if (is.null(line.size)) line.size <- 1
dat <- data.frame(
res = stats::residuals(model),
fitted = stats::fitted(model)
......@@ -39,8 +44,8 @@ diag_ncv <- function(model) {
ggplot(dat, aes_string(x = "fitted", y = "res")) +
geom_intercept_line2(0, NULL) +
geom_point() +
geom_smooth(method = "loess", se = FALSE) +
geom_point(size = dot.size) +
geom_smooth(method = "loess", se = FALSE, size = line.size) +
labs(
x = "Fitted values",
y = "Residuals",
......@@ -76,7 +81,11 @@ diag_norm <- function(model, geom.colors) {
#' @importFrom stats residuals rstudent fitted
diag_qq <- function(model, geom.colors, ...) {
diag_qq <- function(model, geom.colors, dot.size, line.size, ...) {
if (is.null(dot.size)) dot.size <- 1
if (is.null(line.size)) line.size <- 1
# qq-plot of studentized residuals
if (inherits(model, c("lme", "lmerMod", "glmmTMB"))) {
res_ <- sort(stats::residuals(model), na.last = NA)
......@@ -94,9 +103,9 @@ diag_qq <- function(model, geom.colors, ...) {
# plot it
ggplot(mydf, aes_string(x = "x", y = "y")) +
geom_point() +
geom_point(size = dot.size) +
scale_colour_manual(values = geom.colors) +
stat_smooth(method = "lm", se = FALSE) +
stat_smooth(method = "lm", se = FALSE, size = line.size) +
labs(
title = "Non-normality of residuals and outliers",
subtitle = "Dots should be plotted along the line",
......
#' @importFrom stats update
#' @importFrom dplyr bind_rows select mutate
#' @importFrom tidyr gather
plot_diag_stan <- function(model, geom.colors, axis.lim, facets, ...) {
plot_diag_stan <- function(model, geom.colors, axis.lim, facets, axis.labels, ...) {
# check some defaults
if (missing(facets)) facets <- TRUE
......@@ -105,10 +105,16 @@ plot_diag_stan <- function(model, geom.colors, axis.lim, facets, ...) {
ggridges::geom_density_ridges2(alpha = alpha, rel_min_height = .005, scale = scale) +
scale_fill_manual(values = col_check2(geom.colors, 2))
} else {
p <- ggplot(pp, aes_string(x = "Estimate", fill = "Sample")) +
geom_density(alpha = alpha) +
facet_wrap(~Term, scales = "free") +
scale_fill_manual(values = col_check2(geom.colors, 2))
if (!is.null(axis.labels) && !is.null(names(axis.labels))) {
p <- p + facet_wrap(~Term, scales = "free", labeller = labeller(.default = label_value, Term = axis.labels))
} else {
p <- p + facet_wrap(~Term, scales = "free")
}
}
......@@ -118,3 +124,4 @@ plot_diag_stan <- function(model, geom.colors, axis.lim, facets, ...) {
p + xlab("Distribution")
}
......@@ -25,7 +25,7 @@ utils::globalVariables("n")
#' @param axis.lim Numeric vector of length 2, defining the range of the plot axis.
#' Depending on plot type, may effect either x- or y-axis, or both.
#' For multiple plot outputs (e.g., from \code{type = "eff"} or
#' \code{type = "slope"} in \code{\link{sjp.glm}}), \code{axis.lim} may
#' \code{type = "slope"} in \code{\link{plot_model}}), \code{axis.lim} may
#' also be a list of vectors of length 2, defining axis limits for each
#' plot (only if non-faceted).
#' @param show.p Logical, adds significance levels to values, or value and
......
......@@ -560,7 +560,7 @@ plot_likert <- function(items,
)
) +
geom_text(
data = dplyr::filter(mydat.pos, .data$frq < 0),
data = dplyr::filter(mydat.neg, .data$frq < 0),
aes(
x = .data$x,
y = .data$ypos,
......
......@@ -216,6 +216,9 @@
#' }
#' @param grid Logical, if \code{TRUE}, multiple plots are plotted as grid
#' layout.
#' @param p.threshold Numeric vector of length 3, indicating the treshold for
#' annotating p-values with asterisks. Only applies if
#' \code{p.style = "asterisk"}.
#' @param wrap.title Numeric, determines how many chars of the plot title are
#' displayed in one line and when a line break is inserted.
#' @param wrap.labels Numeric, determines how many chars of the value, variable
......@@ -376,7 +379,7 @@
#' plot_model(m, type = "re")
#'
#' # plot marginal effects
#' plot_model(m, type = "eff", terms = "Days")
#' plot_model(m, type = "pred", terms = "Days")
#'
#' # plot interactions
#' \dontrun{
......@@ -448,6 +451,7 @@ plot_model <- function(model,
dot.size = NULL,
line.size = NULL,
vline.color = NULL,
p.threshold = c(0.05, 0.01, 0.001),
grid,
case,
auto.label = TRUE,
......@@ -480,9 +484,6 @@ plot_model <- function(model,
# get info on model family
fam.info <- sjstats::model_family(model)
## TODO remove once sjstats was updated to >= 0.17.1
if (sjmisc::is_empty(fam.info$is_linear)) fam.info$is_linear <- FALSE
# check whether estimates should be transformed or not
if (missing(transform)) {
......@@ -501,7 +502,7 @@ plot_model <- function(model,
if (type %in% c("est", "std", "std2") && isTRUE(auto.label)) {
# get labels of dependent variables, and wrap them if too long
if (is.null(title)) title <- sjlabelled::get_dv_labels(model, case = case, multi.resp = fam.info$is_multivariate, ...)
if (is.null(title)) title <- sjlabelled::get_dv_labels(model, case = case, mv = fam.info$is_multivariate, ...)
title <- sjmisc::word_wrap(title, wrap = wrap.title)
# labels for axis with term names
......@@ -509,7 +510,7 @@ plot_model <- function(model,
axis.labels <- sjmisc::word_wrap(axis.labels, wrap = wrap.labels)
# title for axis with estimate values
if (is.null(axis.title)) axis.title <- sjmisc::word_wrap(estimate_axis_title(model, axis.title, type, transform), wrap = wrap.title)
if (is.null(axis.title)) axis.title <- sjmisc::word_wrap(estimate_axis_title(fit = model, axis.title = axis.title, type = type, transform = transform, include.zeroinf = TRUE), wrap = wrap.title)
axis.title <- sjmisc::word_wrap(axis.title, wrap = wrap.labels)
}
......@@ -581,6 +582,7 @@ plot_model <- function(model,
bpe.color = bpe.color,
facets = grid,
show.zeroinf = show.zeroinf,
p.threshold = p.threshold,
...
)
......@@ -693,6 +695,7 @@ plot_model <- function(model,
geom.colors = colors,
axis.lim = axis.lim,
facets = grid,
axis.labels = axis.labels,
...
)
......@@ -702,6 +705,7 @@ plot_model <- function(model,
model = model,
geom.colors = colors,
dot.size = dot.size,
line.size = line.size,
...
)
......@@ -711,6 +715,7 @@ plot_model <- function(model,
model = model,
geom.colors = colors,
dot.size = dot.size,
line.size = line.size,
...
)
......
......@@ -2,6 +2,7 @@
#' @importFrom forcats fct_reorder fct_rev
#' @importFrom rlang .data
#' @importFrom sjmisc remove_var
#' @importFrom purrr pmap
plot_model_estimates <- function(model,
dat,
tf,
......@@ -29,6 +30,7 @@ plot_model_estimates <- function(model,
vline.color,
value.size,
facets,
p.threshold,
...) {
# remove intercept(s) from output
......@@ -97,7 +99,7 @@ plot_model_estimates <- function(model,
# add p-asterisks to data
dat$p.stars <- get_p_stars(dat$p.value)
dat$p.stars <- get_p_stars(dat$p.value, p.threshold)
dat$p.label <- sprintf("%.*f", digits, dat$estimate)
if (show.p) dat$p.label <- sprintf("%s %s", dat$p.label, dat$p.stars)
......@@ -228,27 +230,64 @@ plot_model_estimates <- function(model,
)
} else {
plot_point_estimates(
model = model,
dat = dat,
tf = tf,
title = title,
axis.labels = axis.labels,
axis.title = axis.title,
axis.lim = axis.lim,
grid.breaks = grid.breaks,
show.values = show.values,
value.offset = value.offset,
geom.size = geom.size,
line.size = line.size,
geom.colors = geom.colors,
bpe.style = bpe.style,
bpe.color = bpe.color,
vline.color = vline.color,
value.size = value.size,
facets = facets,
...
)
if (obj_has_name(dat, "wrap.facet") && dplyr::n_distinct(dat$wrap.facet, na.rm = TRUE) > 1 && !facets) {
dat <- purrr::map(split(dat, f = dat$wrap.facet), ~ sjmisc::remove_var(.x, "wrap.facet"))
if (length(axis.title) == 1) axis.title <- c(axis.title, "Odds Ratios")
purrr::pmap(list(dat, axis.title, names(dat)), function(.x, .y, .z) {
plot_point_estimates(
model = model,
dat = .x,
tf = tf,
title = paste0(title, " (", .z, ")"),
axis.labels = axis.labels,
axis.title = .y,
axis.lim = NULL,
grid.breaks = NULL,
show.values = show.values,
value.offset = value.offset,
geom.size = geom.size,
line.size = line.size,
geom.colors = geom.colors,
bpe.style = bpe.style,
bpe.color = bpe.color,
vline.color = vline.color,
value.size = value.size,
facets = facets,
...
)
})
} else {
plot_point_estimates(
model = model,
dat = dat,
tf = tf,
title = title,
axis.labels = axis.labels,
axis.title = axis.title,
axis.lim = axis.lim,
grid.breaks = grid.breaks,
show.values = show.values,
value.offset = value.offset,
geom.size = geom.size,
line.size = line.size,
geom.colors = geom.colors,
bpe.style = bpe.style,
bpe.color = bpe.color,
vline.color = vline.color,
value.size = value.size,
facets = facets,
...
)
}
}
}
......@@ -26,8 +26,6 @@
#' is \code{FALSE}.
#'
#' @inheritParams plot_model
#' @inheritParams sjp.lm
#' @inheritParams sjp.lmer
#' @inheritParams sjt.lm
#' @inheritParams sjp.grpfrq
#'
......@@ -79,7 +77,7 @@
#' @importFrom sjstats std_beta p_value model_family
#' @importFrom sjlabelled get_dv_labels get_term_labels
#' @importFrom rlang .data
#' @importFrom sjmisc word_wrap var_rename
#' @importFrom sjmisc word_wrap var_rename add_variables
#' @export
plot_models <- function(...,
transform,
......@@ -104,7 +102,7 @@ plot_models <- function(...,
show.intercept = FALSE,
show.p = TRUE,
p.shape = FALSE,
ci.lvl = .95,
p.threshold = c(0.05, 0.01, 0.001), ci.lvl = .95,
vline.color = NULL,
digits = 2,
grid = FALSE,
......@@ -122,10 +120,6 @@ plot_models <- function(...,
# get info on model family
fam.info <- sjstats::model_family(input_list[[1]])
## TODO remove once sjstats was updated to >= 0.17.1
if (sjmisc::is_empty(fam.info$is_linear)) fam.info$is_linear <- FALSE
# check whether estimates should be transformed or not
if (missing(transform)) {
......@@ -152,7 +146,7 @@ plot_models <- function(...,
fl <- input_list %>%
purrr::map(~ sjstats::std_beta(.x, type = std.est)) %>%
purrr::map(~ sjmisc::var_rename(.x, std.estimate = "estimate")) %>%
purrr::map2(input_list, ~ add_cols(
purrr::map2(input_list, ~ sjmisc::add_variables(
.x, p.value = sjstats::p_value(.y)[["p.value"]][-1]
))
......@@ -204,7 +198,7 @@ plot_models <- function(...,
# add grouping index
for (i in 1:length(fl)) fl[[i]] <- add_cols(fl[[i]], group = as.character(i), .after = Inf)
for (i in 1:length(fl)) fl[[i]] <- sjmisc::add_variables(fl[[i]], group = as.character(i), .after = Inf)
# merge models to one data frame
ff <- dplyr::bind_rows(fl)
......@@ -240,7 +234,7 @@ plot_models <- function(...,
# add p-asterisks to data
ff$p.stars <- get_p_stars(ff$p.value)
ff$p.stars <- get_p_stars(ff$p.value, p.threshold)
ff$p.label <- sprintf("%.*f", digits, ff$estimate)
if (show.p) ff$p.label <- sprintf("%s %s", ff$p.label, ff$p.stars)
......
......@@ -160,19 +160,33 @@ plot_point_estimates <- function(model,
# we need transformed scale for exponentiated estimates
has_zeroinf <- (obj_has_name(dat, "wrap.facet") && dplyr::n_distinct(dat$wrap.facet, na.rm = TRUE) > 1)
if (isTRUE(tf == "exp")) {
p <- p + scale_y_continuous(
trans = "log10",
limits = axis.scaling$axis.lim,
breaks = axis.scaling$ticks,
labels = prettyNum
)
if (has_zeroinf) {
p <- p + scale_y_continuous(trans = "log10")
} else {
p <- p + scale_y_continuous(
trans = "log10",
limits = axis.scaling$axis.lim,
breaks = axis.scaling$ticks,
labels = prettyNum
)
}
} else {
p <- p + scale_y_continuous(
limits = axis.scaling$axis.lim,
breaks = axis.scaling$ticks,
labels = axis.scaling$ticks
)
if (has_zeroinf) {
} else {
p <- p + scale_y_continuous(
limits = axis.scaling$axis.lim,
breaks = axis.scaling$ticks,
labels = axis.scaling$ticks
)
}
}
......@@ -188,13 +202,15 @@ plot_point_estimates <- function(model,
if (obj_has_name(dat, "facet") && dplyr::n_distinct(dat$facet, na.rm = TRUE) > 1)
p <- p +
facet_grid(~facet)
else if (obj_has_name(dat, "wrap.facet") && dplyr::n_distinct(dat$wrap.facet, na.rm = TRUE) > 1)
else if (has_zeroinf)
p <- p +
facet_wrap(~wrap.facet, ncol = 1)
facet_wrap(~wrap.facet, ncol = 1, scales = "free_x")
# set axis and plot titles
if (length(axis.title) > 1) axis.title <- axis.title[1]
p <-
p + labs(
x = NULL,
......
......@@ -32,7 +32,6 @@
#'
#' @inheritParams plot_model
#' @inheritParams sjp.grpfrq
#' @inheritParams sjp.lm
#'
#' @examples
#' # load sample date
......
......@@ -36,6 +36,9 @@ plot_type_eff <- function(type,
)
}
if (is.null(dat)) return(NULL)
# evaluate dots-arguments
alpha <- .15
dodge <- .1
......@@ -66,12 +69,9 @@ plot_type_eff <- function(type,
dot.alpha = dot.alpha,
alpha = alpha,
dodge = dodge,
log.y = log.y
## TODO activate once ggeffects-update is on CRAN
# dot.size = dot.size,
# line.size = line.size
log.y = log.y,
dot.size = dot.size,
line.size = line.size
)
# set axis and plot titles
......
#' @importFrom broom tidy
#' @importFrom sjstats robust
#' @importFrom sjmisc add_variables
plot_type_est <- function(type,
ci.lvl,
se,
......@@ -30,6 +31,7 @@ plot_type_est <- function(type,
bpe.color,
facets,
show.zeroinf,
p.threshold,
...) {
if (missing(facets)) facets <- TRUE
......@@ -41,7 +43,7 @@ plot_type_est <- function(type,
} else {
dat <- model %>%
sjstats::std_beta(type = type, ci.lvl = ci.lvl) %>%
add_cols(p.value = sjstats::p_value(model)[["p.value"]][-1]) %>%
sjmisc::add_variables(p.value = sjstats::p_value(model)[["p.value"]][-1]) %>%
sjmisc::var_rename(std.estimate = "estimate")
show.intercept <- FALSE
......@@ -119,6 +121,7 @@ plot_type_est <- function(type,
vline.color = vline.color,
value.size = value.size,
facets = facets,
p.threshold = p.threshold,
...