write.model {R2OpenBUGS} | R Documentation |
Convert R function to a OpenBUGS model file
write.model(model, con = "model.bug", digits = 5)
model |
R function containing the BUGS model in the BUGS model language, for minor differences see Section Details. |
con |
passed to |
digits |
number of significant digits used for OpenBUGS
input, see |
BUGS models follow closely S syntax. It is therefore possible to write most BUGS models as R functions.
As a difference, BUGS syntax allows truncation specification like this:
dnorm(...) I(...)
but this is illegal in R. To
overcome this incompatibility, use dummy operator %_%
before
I(...)
: dnorm(...) %_% I(...)
. The dummy operator
%_%
will be removed before the BUGS code is saved.
Nothing, but as a side effect, the model file is written
original idea by Jouni Kerman, modified by Uwe Ligges
## Same "schoolsmodel" that is used in the examples in ?bugs: schoolsmodel <- function(){ for (j in 1:J){ y[j] ~ dnorm (theta[j], tau.y[j]) theta[j] ~ dnorm (mu.theta, tau.theta) tau.y[j] <- pow(sigma.y[j], -2) } mu.theta ~ dnorm (0.0, 1.0E-6) tau.theta <- pow(sigma.theta, -2) sigma.theta ~ dunif (0, 1000) } ## some temporary filename: filename <- file.path(tempdir(), "schoolsmodel.bug") ## write model file: write.model(schoolsmodel, filename) ## and let's take a look: file.show(filename)