Description Usage Arguments Details Value Author(s) References See Also Examples
The bugs
function takes data and starting values as
input. It automatically writes a OpenBUGS script, calls the model, and
saves the simulations for easy access in R.
1 2 3 4 5 6 7 8 9 10 | bugs(data, inits, parameters.to.save, n.iter, model.file="model.txt",
n.chains=3, n.burnin=floor(n.iter / 2), n.thin=1,
saveExec=FALSE,restart=FALSE,
debug=FALSE, DIC=TRUE, digits=5, codaPkg=FALSE,
OpenBUGS.pgm=NULL,
working.directory=NULL,
clearWD=FALSE, useWINE=FALSE, WINE=NULL,
newWINE=TRUE, WINEPATH=NULL, bugs.seed=1, summary.only=FALSE,
save.history=(.Platform$OS.type == "windows" | useWINE==TRUE),
over.relax = FALSE)
|
data |
either a named list (names corresponding to variable names
in the |
inits |
a list with |
parameters.to.save |
character vector of the names of the parameters to save which should be monitored |
model.file |
File containing the model written in OpenBUGS code. The
extension must be ‘.txt’. The default location is given by |
n.chains |
number of Markov chains (default: 3) |
n.iter |
number of total iterations per chain (including burn in; default: 2000) |
n.burnin |
length of burn in, i.e. number of iterations to
discard at the beginning. Default is |
n.thin |
Thinning rate. Must be a positive integer. The default is
|
saveExec |
If TRUE, a re-startable image of the OpenBUGS execution is
saved with |
restart |
If TRUE, execution resumes with the final status from
the previous execution stored in the .bug file in the working directory.
If |
debug |
if |
DIC |
logical; if |
digits |
number of significant digits used for OpenBUGS input, see
|
codaPkg |
logical; if |
OpenBUGS.pgm |
For Windows or WINE execution, the full path
to the OpenBUGS
executable. For linux execution, the full path to the
OpenBUGS executable or shell script (the path to the shell
script is not
required if the OpenBUGS shell script is in the user's PATH variable).
If |
working.directory |
sets working directory during execution of
this function; OpenBUGS' input and output will be stored in this
directory; if |
clearWD |
logical; indicating whether the files ‘data.txt’,
‘inits[1:n.chains].txt’, ‘log.odc’, ‘codaIndex.txt’,
and ‘coda[1:nchains].txt’ should be removed after OpenBUGS has
finished. If set to |
useWINE |
logical; attempt to use the Wine emulator to run
OpenBUGS. Default is |
WINE |
Character, path to ‘wine’ binary file, it is
tried hard (by a guess and the utilities |
newWINE |
Use new versions of Wine that have ‘winepath’ utility |
WINEPATH |
Character, path to ‘winepath’ binary file, it is
tried hard (by a guess and the utilities |
bugs.seed |
Random seed for OpenBUGS. Must be an integer between 1-14. Seed specification changed between WinBUGS and OpenBUGS; see the OpenBUGS documentation for details. |
summary.only |
If |
save.history |
If |
over.relax |
If |
To run:
Write a BUGS model in an ASCII file (hint: use
write.model
).
Go into R.
Prepare the inputs for the bugs
function and run it (see
Example section).
An OpenBUGS window will pop up and R will freeze up. The model will now run in OpenBUGS. It might take awhile. You will see things happening in the Log window within OpenBUGS. When OpenBUGS is done, its window will close and R will work again.
If an error message appears, re-run with debug=TRUE
.
BUGS version support:
OpenBUGS >=3.2.1
Operation system support:
MS Windows no problem
Linux, intel processors GUI display and graphics not available.
Mac OS X and Unix in
general possible with Wine emulation via useWINE=TRUE
If useWINE=TRUE
is used, all paths (such as
working.directory
and model.file
, must be given in
native (Unix) style, but OpenBUGS.pgm
can be given in
Windows path style (e.g. “c:/Program Files/OpenBUGS/”) or
native (Unix) style
(e.g. “/path/to/wine/folder/dosdevices/c:/Program
Files/OpenBUGS/OpenBUGS321/OpenBUGS.exe”).
If codaPkg=TRUE
the returned values are the names
of coda output files written by OpenBUGS containing
the Markov Chain Monte Carlo output in the CODA format.
This is useful for direct access with read.bugs
.
If codaPkg=FALSE
, the following values are returned:
n.chains |
see Section ‘Arguments’ |
n.iter |
see Section ‘Arguments’ |
n.burnin |
see Section ‘Arguments’ |
n.thin |
see Section ‘Arguments’ |
n.keep |
number of iterations kept per chain (equal to
|
n.sims |
number of posterior simulations (equal to
|
sims.array |
3-way array of simulation output, with dimensions n.keep, n.chains, and length of combined parameter vector |
sims.list |
list of simulated parameters:
for each scalar parameter, a vector of length n.sims
for each vector parameter, a 2-way array of simulations,
for each matrix parameter, a 3-way array of simulations, etc.
(for convenience, the |
sims.matrix |
matrix of simulation output, with
|
summary |
summary statistics and convergence information for each saved parameter. |
mean |
a list of the estimated parameter means |
sd |
a list of the estimated parameter standard deviations |
median |
a list of the estimated parameter medians |
root.short |
names of argument |
long.short |
indexes; programming stuff |
dimension.short |
dimension of |
indexes.short |
indexes of |
last.values |
list of simulations from the most recent iteration; they can be used as starting points if you wish to run OpenBUGS for further iterations |
pD |
an estimate of the effective number of parameters, for calculations see the section “Arguments”. |
DIC |
|
Andrew Gelman, gelman@stat.columbia.edu; modifications and packaged by Sibylle Sturtz, sturtz@statistik.tu-dortmund.de, Uwe Ligges, and Neal Thomas
Gelman, A., Carlin, J.B., Stern, H.S., Rubin, D.B. (2003): Bayesian Data Analysis, 2nd edition, CRC Press.
Sturtz, S., Ligges, U., Gelman, A. (2005): R2WinBUGS: A Package for Running WinBUGS from R. Journal of Statistical Software 12(3), 1-16.
print.bugs
, plot.bugs
, as well as
coda and BRugs packages
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ## Not run:
# An example model file is given in:
model.file <- system.file(package="R2OpenBUGS", "model", "schools.txt")
# Let's take a look:
#file.show(model.file)
# Some example data (see ?schools for details):
data(schools)
schools
J <- nrow(schools)
y <- schools$estimate
sigma.y <- schools$sd
data <- list ("J", "y", "sigma.y")
inits <- function(){
list(theta=rnorm(J, 0, 100), mu.theta=rnorm(1, 0, 100),
sigma.theta=runif(1, 0, 100))
}
## or alternatively something like:
# inits <- list(
# list(theta=rnorm(J, 0, 90), mu.theta=rnorm(1, 0, 90),
# sigma.theta=runif(1, 0, 90)),
# list(theta=rnorm(J, 0, 100), mu.theta=rnorm(1, 0, 100),
# sigma.theta=runif(1, 0, 100))
# list(theta=rnorm(J, 0, 110), mu.theta=rnorm(1, 0, 110),
# sigma.theta=runif(1, 0, 110)))
parameters <- c("theta", "mu.theta", "sigma.theta")
## You may need to specify "OpenBUGS.pgm"
## also you need write access in the working directory:
schools.sim <- bugs(data, inits, parameters, model.file,
n.chains=3, n.iter=5000)
print(schools.sim)
plot(schools.sim)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.