% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/run_parms_wizard.R
\name{run_parms_wizard}
\alias{run_parms_wizard}
\title{Interactive Prior Specification Wizard}
\usage{
run_parms_wizard(verbose = TRUE)
}
\arguments{
\item{verbose}{Logical. If \code{TRUE} (default), the wizard prints
introductory text and the summary review table. If \code{FALSE}, only
the interactive prompts are displayed.}
}
\value{
A \code{data.frame} with columns \code{priors}, \code{distribution},
and \code{arguments}. This dataframe is formatted to be passed directly
to the \code{my_prior} argument in related fitting functions.
}
\description{
This function allows users to customize priors without needing to manually
construct complex data frames. It displays current defaults, allows
selection of specific parameters to change, and provides a menu of
available probabilistic distributions (e.g., Normal, Gamma, Beta).
}
\details{
Launches an interactive console-based interface to guide users through
viewing and modifying Bayesian prior distributions for mediation models.


The wizard handles two main types of customization:
\itemize{
  \item \strong{Distribution Selection:} Choose from supported probabilistic distributions.
  \item \strong{Argument Specification:} Set numeric values for
  hyperparameters (e.g., shape, rate, mean, precision).
}

For coefficients like \eqn{a} and \eqn{b}, the wizard will note if they
reference hyperpriors (back-references). It is generally recommended to
modify the shape of the hyperprior rather than the coefficient's distribution
directly to maintain the hierarchical structure.
}
\note{
This function requires an interactive R session. It will return
\code{invisible(NULL)} if the user cancels the process.
}
\examples{
# Create toy data
toy_data <- data.frame(
   X = rbinom(100, 1, 0.5),
   M = rbinom(100, 1, 0.3),
   Y = rbinom(100, 1, 0.5)
)

custom_priors <- NULL

if (interactive()){
# Launch the wizard
custom_priors <- run_parms_wizard()
}

# Use the resulting object in a model
fit <- buzzEBMcatMcatY(model = "Y ~ M | X",
                     dataset = toy_data,
                     my_prior = custom_priors)

}
