← ClaudeAtlas

bugs-fundamentalslisted

Foundational knowledge for writing BUGS/JAGS models including precision parameterization, declarative syntax, distributions, and R integration. Use when creating or reviewing BUGS/JAGS models.
choxos/BiostatAgent · ★ 4 · Code & Development · score 75
Install: claude install-skill choxos/BiostatAgent
# BUGS/JAGS Fundamentals ## When to Use This Skill - Writing new WinBUGS or JAGS models - Understanding BUGS declarative syntax - Converting between BUGS and Stan - Integrating with R via R2jags or R2WinBUGS ## Model Structure BUGS uses a **single declarative block** where order doesn't matter: ``` model { # Likelihood (order doesn't matter) for (i in 1:N) { y[i] ~ dnorm(mu[i], tau) mu[i] <- alpha + beta * x[i] } # Priors alpha ~ dnorm(0, 0.001) beta ~ dnorm(0, 0.001) tau ~ dgamma(0.001, 0.001) # Derived quantities sigma <- 1 / sqrt(tau) } ``` ## CRITICAL: Precision Parameterization **BUGS uses PRECISION (tau = 1/variance), NOT standard deviation:** | Distribution | BUGS Syntax | Meaning | |-------------|-------------|---------| | Normal | `dnorm(mu, tau)` | tau = 1/sigma² | | MVN | `dmnorm(mu[], Omega[,])` | Omega = inverse(Sigma) | ### Converting SD ↔ Precision ``` # Precision from SD tau <- pow(sigma, -2) # SD from precision sigma <- 1 / sqrt(tau) ``` ## Distribution Reference ### Continuous (All use precision!) ``` y ~ dnorm(mu, tau) # Normal: tau = 1/sigma² y ~ dlnorm(mu, tau) # Log-normal (log-scale) y ~ dt(mu, tau, df) # Student-t y ~ dunif(lower, upper) # Uniform y ~ dgamma(shape, rate) # Gamma y ~ dbeta(a, b) # Beta y ~ dexp(lambda) # Exponential (rate) y ~ dweib(shape, lambda) # Weibull y ~ ddexp(mu, tau) # Double exponential ``` ### Discrete ``` y ~ dbern(p) # Be