README.md

dcmle: Hierarchical Models Made Easy with Data Cloning

CRAN version CRAN RStudio mirror downloads

S4 classes around infrastructure provided by the dclone package to make package development with data cloning for hierarchical models easy as a breeze.

Sequential and parallel MCMC support for JAGS, WinBUGS, OpenBUGS, and Stan. See Solymos 2010 (R Journal 2(2):29--37).

Versions

Install the CRAN version of the package from R:

install.packages("dcmle")

Install the development version of the package from R using the devtools package:

devtools::install_github("datacloning/dcmle")

User visible changes in the package are listed in the NEWS file.

Examples

State space model:

## Data and model taken from Ponciano et al. 2009
## Ecology 90, 356-362.
paurelia <- c(17,29,39,63,185,258,267,392,510,
    570,650,560,575,650,550,480,520,500)
paramecium <- new("dcFit")
paramecium@data <- list(
    ncl=1,
    n=length(paurelia),
    Y=dcdim(data.matrix(paurelia)))
paramecium@model <- function() {
    for (k in 1:ncl) {
        for(i in 2:(n+1)){
            Y[(i-1), k] ~ dpois(exp(X[i, k])) # observations
            X[i, k] ~ dnorm(mu[i, k], 1 / sigma^2) # state
            mu[i, k] <- X[(i-1), k] + log(lambda) - log(1 + beta * exp(X[(i-1), k]))
        }
        X[1, k] ~ dnorm(mu0, 1 / sigma^2) # state at t0
    }
    beta ~ dlnorm(-1, 1) # Priors on model parameters
    sigma ~ dlnorm(0, 1)
    tmp ~ dlnorm(0, 1)
    lambda <- tmp + 1
    mu0 <- log(2)  + log(lambda) - log(1 + beta * 2)
}
paramecium@multiply <- "ncl"
paramecium@unchanged <- "n"
paramecium@params <- c("lambda","beta","sigma")

(m1 <- dcmle(paramecium, n.clones=1, n.iter=1000))
(m2 <- dcmle(paramecium, n.clones=2, n.iter=1000))
(m3 <- dcmle(paramecium, n.clones=1:3, n.iter=1000))

cl <- makePSOCKcluster(3)
(m4 <- dcmle(paramecium, n.clones=2, n.iter=1000, cl=cl))
(m5 <- dcmle(paramecium, n.clones=1:3, n.iter=1000, cl=cl))
(m6 <- dcmle(paramecium, n.clones=1:3, n.iter=1000, cl=cl,
    partype="parchains"))
(m7 <- dcmle(paramecium, n.clones=1:3, n.iter=1000, cl=cl,
    partype="both"))
stopCluster(cl)

Visit the dcexamples repository for classic BUGS examples using dcmle.

Help

Find help on the Dclone users mailing list. More resources at datacloning.org.

Use the issue tracker to report a problem.

References

Solymos, P., 2010. dclone: Data Cloning in R. R Journal 2(2):29--37. [PDF]



datacloning/dcmle documentation built on July 5, 2023, 5:27 a.m.