inclusionCurve: Plot PIP as a Function of Index

View source: R/plots.R

inclusionCurveR Documentation

Plot PIP as a Function of Index

Description

Plot the posterior inclusion probability of an edge between two variables as a function of observation index

Usage

inclusionCurve(
  out,
  col_idx1,
  col_idx2,
  line_type = "solid",
  line_size = 0.5,
  line_color = "black",
  point_shape = 21,
  point_size = 1.5,
  point_color = "#500000",
  point_fill = "white"
)

Arguments

out

object of class covdepGE; return of covdepGE function

col_idx1

integer in [1, p]; column index of the first variable

col_idx2

integer in [1, p]; column index of the second variable

line_type

linetype; ggplot2 line type to interpolate the probabilities. "solid" by default

line_size

positive numeric; thickness of the interpolating line. 0.5 by default

line_color

color; color of interpolating line. "black" by default

point_shape

shape; shape of the points denoting observation-specific inclusion probabilities; 21 by default

point_size

positive numeric; size of probability points. 1.5 by default

point_color

color; color of probability points. "#500000" by default

point_fill

color; fill of probability points. Only applies to select shapes. "white" by default

Value

Returns ggplot2 visualization of inclusion probability curve

Examples

## Not run: 
library(ggplot2)

# get the data
set.seed(12)
data <- generateData()
X <- data$X
Z <- data$Z
interval <- data$interval
prec <- data$true_precision

# get overall and within interval sample sizes
n <- nrow(X)
n1 <- sum(interval == 1)
n2 <- sum(interval == 2)
n3 <- sum(interval == 3)

# visualize the distribution of the extraneous covariate
ggplot(data.frame(Z = Z, interval = as.factor(interval))) +
  geom_histogram(aes(Z, fill = interval), color = "black", bins = n %/% 5)

# visualize the true precision matrices in each of the intervals

# interval 1
matViz(prec[[1]], incl_val = TRUE) +
  ggtitle(paste0("True precision matrix, interval 1, observations 1,...,", n1))

# interval 2 (varies continuously with Z)
cat("\nInterval 2, observations ", n1 + 1, ",...,", n1 + n2, sep = "")
int2_mats <- prec[interval == 2]
int2_inds <- c(5, n2 %/% 2, n2 - 5)
lapply(int2_inds, function(j) matViz(int2_mats[[j]], incl_val = TRUE) +
         ggtitle(paste("True precision matrix, interval 2, observation", j + n1)))

# interval 3
matViz(prec[[length(prec)]], incl_val = TRUE) +
  ggtitle(paste0("True precision matrix, interval 3, observations ",
                 n1 + n2 + 1, ",...,", n1 + n2 + n3))

# fit the model and visualize the estimated graphs
(out <- covdepGE(X, Z))
plot(out)

# visualize the posterior inclusion probabilities for variables (1, 3) and (1, 2)
inclusionCurve(out, 1, 2)
inclusionCurve(out, 1, 3)

## End(Not run)

JacobHelwig/covdepGE documentation built on April 11, 2024, 7:22 a.m.