#' @export
plot.see_check_overdisp <- function(x,
linewidth = 0.8,
size_title = 12,
size_axis_title = base_size,
base_size = 10,
colors = c("#3aaf85", "#1b6ca8"),
type = 1,
...) {
.plot_diag_overdispersion(
x,
style = theme_lucid,
colors = colors,
linewidth = linewidth,
size_title = size_title,
size_axis_title = size_axis_title,
base_size = base_size,
type = type
)
}
.plot_diag_overdispersion <- function(x,
theme_style = theme_lucid,
size_axis_title = base_size,
size_title = 12,
base_size = 10,
colors = c("#3aaf85", "#1b6ca8"),
linewidth = 0.8,
type = 1,
...) {
if (is.null(type) || type == 1) {
p <- ggplot2::ggplot(x) +
ggplot2::aes(x = .data$Predicted) +
ggplot2::geom_smooth(ggplot2::aes(y = .data$V), linewidth = linewidth, color = colors[2], se = FALSE) +
ggplot2::geom_smooth(ggplot2::aes(y = .data$Res2), linewidth = linewidth, color = colors[1]) +
ggplot2::labs(
title = "Misspecified dispersion and zero-inflation",
subtitle = "Observed residual variance (green) should follow predicted residual variance (blue)",
x = "Predicted mean",
y = "Residual variance"
) +
theme_style(
base_size = base_size,
plot.title.space = 3,
axis.title.space = 5,
plot.title.size = size_title,
axis.title.size = size_axis_title
)
} else {
p <- ggplot2::ggplot(x) +
ggplot2::aes(x = .data$Predicted) +
ggplot2::geom_point(ggplot2::aes(y = .data$StdRes)) +
ggplot2::geom_hline(
yintercept = c(-2, 2, -4, 4),
linetype = c("solid", "solid", "dashed", "dashed"),
color = c(rep(colors[1], 2), rep(colors[2], 2))
) +
ggplot2::labs(
title = "Misspecified dispersion and zero-inflation",
subtitle = "Most points should be within solid lines, few points outside dashed lines",
x = "Predicted mean",
y = "Standardized resiuduals"
) +
theme_style(
base_size = base_size,
plot.title.space = 3,
axis.title.space = 5,
plot.title.size = size_title,
axis.title.size = size_axis_title
)
}
p
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.