Learn R Programming

R2OpenBUGS (version 3.2-1.3)

write.model: Creating a OpenBUGS model file

Description

Convert Rfunction to a OpenBUGS model file

Usage

write.model(model, con = "model.bug", digits = 5)

Arguments

model
Rfunction containing the BUGS model in the BUGS model language, for minor differences see Section Details.
con
passed to writeLines which actually writes the model file
digits
number of significant digits used for OpenBUGS input, see formatC

Value

  • Nothing, but as a side effect, the model file is written

concept

model

Details

BUGS models follow closely S syntax. It is therefore possible to write most BUGS models as Rfunctions. 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.

See Also

bugs

Examples

Run this code
## 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)

Run the code above in your browser using DataLab