Specify priors for a SEM, similar to how blavaan::dpriors() works.
Value
A named character vector of prior specifications, where names
correspond to lavaan parameter types (e.g., "lambda", "beta", "theta",
etc.) and values are character strings specifying the prior distribution
(e.g., "normal(0,10)", "gamma(1,0.5)[sd]", etc.).
Details
This function provides a convenient way to specify prior distributions for different types of parameters in a structural equation model (SEM). It uses a registry of default priors for common lavaan parameter types (e.g., loadings, regressions, residuals, etc.) and allows users to override these defaults by passing named arguments.
The parameter names, and default settings, are:
nu = "normal(0,32)": Observed variable interceptsalpha = "normal(0,10)": Latent variable interceptslambda = "normal(0,10)": Factor loadingsbeta = "normal(0,10)": Regression coefficientstheta = "gamma(1,.5)[sd]": Residual precisionspsi = "gamma(1,.5)[sd]": Latent variable precisionsrho = "beta(1,1)": Correlations (both latent and observed)tau = "normal(0,1.5)": Thresholds for ordinal variables
Note that the normal distributions are parameterised using standard
deviations, and not variances. For example, normal(0,10) means a
normal distribution with mean 0 and standard deviation 10 (not variance 10).
