## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 6, fig.height = 4, dpi = 96 ) ## ----------------------------------------------------------------------------- library(int3ract) set.seed(1402) dat <- data.frame(x = rnorm(100), z = rnorm(100), w = rnorm(100)) dat$y <- dat$x + 0.5 * dat$z - 0.5 * dat$w + 0.5 * dat$x * dat$z * dat$w + rnorm(100, sd = 4) ## ----------------------------------------------------------------------------- fit2 <- lm(y ~ x * z, data = dat) jn2 <- JN(fit2, theta_1 = "x", theta_2 = "z") jn2 ## ----------------------------------------------------------------------------- summary(jn2) ## ----fig.alt = "Conditional effect of x across the range of z, with a confidence band shaded by significance and a histogram of observed z values below."---- plot(jn2, which = "x") ## ----------------------------------------------------------------------------- jn_regions(jn2) ## ----------------------------------------------------------------------------- head(as.data.frame(jn2), 3) ## ----------------------------------------------------------------------------- fit3 <- lm(y ~ x * z * w, data = dat) jn3 <- JN(fit3, theta_1 = "x", theta_2 = "z", theta_3 = "w", range_size = 20) jn3 ## ----fig.width = 6, fig.height = 5, fig.alt = "Heatmap of the conditional effect of x over the two-dimensional grid of z and w, crosshatched where the effect is not significant, with marginal histograms of observed values along both axes."---- plot(jn3, which = "x") ## ----------------------------------------------------------------------------- jn3_fdr <- JN(fit3, theta_1 = "x", theta_2 = "z", theta_3 = "w", range_size = 20, control_fdr = TRUE) head(jn_regions(jn3_fdr), 3) ## ----eval = requireNamespace("lme4", quietly = TRUE)-------------------------- d <- dat d$g <- rep(letters[1:5], each = 20) fit_mer <- lme4::lmer(y ~ x * z + (1 | g), data = d) JN(fit_mer, theta_1 = "x", theta_2 = "z") ## ----bayes, eval = requireNamespace("MCMCpack", quietly = TRUE), message = FALSE---- post <- MCMCpack::MCMCregress(y ~ x * z, data = dat, burnin = 500, mcmc = 2000, verbose = 0) jnb <- JN(post, theta_1 = "x", theta_2 = "z", theta_1_vals = seq(-3, 3, 0.5), theta_2_vals = seq(-3, 3, 0.5)) jnb ## ----eval = requireNamespace("MCMCpack", quietly = TRUE), fig.alt = "Overlaid conditional posterior densities of the effect of x at a sequence of values of z."---- plot(jnb, which = "x") ## ----eval = requireNamespace("MCMCpack", quietly = TRUE), fig.alt = "Posterior mean effect of x across the range of z with a shaded credible band."---- plot(jnb, which = "x", type = "band") ## ----fig.alt = "The same conditional effect plot for x, drawn in different colours and without the data-density panel."---- plot(jn2, which = "x", style = jn_style(sig_color = "steelblue", non_sig_color = "grey70", show_density = FALSE)) ## ----------------------------------------------------------------------------- figs <- jn_plots(jn2) names(figs) ## ----eval = FALSE------------------------------------------------------------- # jn_save(jn2, folder = "figures", device = "pdf") ## ----eval = FALSE------------------------------------------------------------- # # siena07() results carry estimates and a covariance matrix -> Wald tests # JN(saom_fit, theta_1 = 4, theta_2 = 7, theta_int_12 = 12, # theta_1_vals = c(0, 6), theta_2_vals = c(-2, 2)) # # # sienaBayes() results carry draws -> conditional posteriors # JN(bayes_fit, theta_1 = 4, theta_2 = 7, theta_int_12 = 12, # theta_1_vals = seq(0, 6, 1), theta_2_vals = seq(-2, 2, 1)) ## ----eval = FALSE------------------------------------------------------------- # jn_input.myfit <- function(object, theta_1, theta_2, theta_3 = NULL, ...) { # idx <- c(theta_1, theta_2, paste(theta_1, theta_2, sep = ":")) # jn_wald(coefficients = object$estimates[idx], # vcov = object$covariance[idx, idx], # labels = c(theta_1, theta_2)) # }