File: morph.metrop.R

package info (click to toggle)
r-cran-mcmc 0.9-7-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 2,352 kB
  • sloc: ansic: 1,298; makefile: 14; sh: 8
file content (30 lines) | stat: -rw-r--r-- 1,068 bytes parent folder | download | duplicates (4)
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
library(mcmc)

.morph.unmorph <- mcmc:::.morph.unmorph

###########################################################################
# basic functionality check, can morph.metro run?  Can we change the
# transformation?
set.seed(42)
obj <- morph.metrop(function(x) dt(x, df=3, log=TRUE),
                    100, 100, morph=morph(b=3))
obj <- morph.metrop(obj, morph=morph(b=1))

obj <- morph.metrop(function(x) prod(dt(x, df=3, log=TRUE)),
                    rep(100, 3), 100, morph=morph(p=3, b=1))
obj <- morph.metrop(obj, morph=morph(r=1, p=3, b=1))

all.equal(class(obj), c("mcmc", "morph.metropolis"))

###########################################################################
# check .morph.unmorph
obj <- list(final=10)
outfun <- function(x) x
m <- morph(p=3)
obj <- .morph.unmorph(obj, m, outfun)
all.equal(class(obj), c("mcmc", "morph.metropolis"))
all.equal(sort(names(obj)),
          sort(c("final", "morph", "morph.final", "outfun")))
all.equal(c(obj$final, obj$morph.final), c(m$inverse(10), 10))
all.equal(obj$outfun, outfun)
all.equal(obj$morph, m)