## ---- reproducible demonstration ------------------------------------
set.seed(1)
I <- 6; N <- 40; D <- 2; M <- 300 # toy dimensions
## 1. Point-estimate inputs (default) ---------------------------------
beta_hat <- 0.3
gamma_hat <- 1.2
w_hat <- matrix(rnorm(I * D), I, D)
z_hat <- matrix(rnorm(N * D), N, D)
# population curve + one person (no ribbon in point-estimate usage)
lsirmicc(item_id = 4,
beta = beta_hat,
gamma = gamma_hat,
w_pos = w_hat,
z_pos = z_hat,
person_id = 7)
## 2. Draws-based inputs (posterior list) ------------------------------
w_base <- matrix(0, I, D); w_base[, 1] <- seq(-1.2, 1.2, length.out = I)
z_base <- matrix(0, N, D); z_base[, 1] <- rep(c(-0.6, 0.6), length.out = N)
posterior <- list(
beta = matrix(rnorm(M * I, 0, 0.25), M, I),
gamma = rgamma(M, shape = 300, rate = 300),
w = array(rep(w_base, each = M), c(M, I, D)) +
array(rnorm(M * I * D, sd = 0.12), c(M, I, D)),
z = array(rep(z_base, each = M), c(M, N, D)) +
array(rnorm(M * N * D, sd = 0.12), c(M, N, D))
)
# posterior-predictive mean curve with ribbon and two people
lsirmicc(item_id = 2,
posterior = posterior,
person_id = c(22, 31),
credibleRibbon = TRUE,
cred_level = 0.95,
person_cols = c("red", "blue"))
Run the code above in your browser using DataLab