| write.model {R2WinBUGS} | R Documentation |
Convert R function to a WinBUGS model file
write.model(model, con = "model.bug")
model |
R function containg the BUGS model in the BUGS model language, for minor differences see Section Details. |
con |
passed to link{writeLines} which actually writes the model file |
The fact that bugs models follow closely to S (R) syntax is used. It should be 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 %_% 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)