Description Usage Arguments Value Author(s) Examples
This function generate samples from a GMRF using the GMRFLib implementation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
n |
Number of samples. Only used if |
Q |
The precision matrix or a filename containing it. |
b |
The linear term |
mu |
The mu term |
sample |
A matrix of optional samples where each column is a sample. If set, then evaluate the log-density for each sample only. |
constr |
Optional linear constraints; see |
reordering |
The type of reordering algorithm to be used for |
seed |
Control the RNG. If |
logdens |
If |
compute.mean |
If |
num.threads |
The number of threads that can be used. |
selection |
A vector of indices of each sample to
return. |
verbose |
Logical. Run in verbose mode or not. |
The log-density has form -1/2(x-mu)^T Q (x-mu) + b^T x
If logdens is FALSE, then inla.qsample returns
the samples in a matrix, where each column is a sample.
If logdens or compute.mean is TRUE, then a list
with names sample,
logdens and mean is returned. The samples are stored in the matrix
sample where each column is a sample, and the log
densities of each sample are stored as the vector logdens.
The mean (include corrections for the constraints, if any) is store in
the vector mean.
Havard Rue hrue@r-inla.org
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 | g = system.file("demodata/germany.graph", package="INLA")
Q = inla.graph2matrix(g)
diag(Q) = dim(Q)[1L]
x = inla.qsample(10, Q)
## Not run: matplot(x)
x = inla.qsample(10, Q, logdens=TRUE)
## Not run: matplot(x$sample)
n = 3
Q = diag(n)
ns = 2
## sample and evaluate a sample
x = inla.qsample(n, Q=Q, logdens=TRUE)
xx = inla.qsample(Q=Q, sample = x$sample)
print(x$logdens - xx$logdens)
## the use of a constraint
constr = list(A = matrix(rep(1, n), 1, n), e = 0)
x = inla.qsample(n, Q=Q, constr=constr)
print(constr$A %*% x)
## control the RNG
x = inla.qsample(n, Q=Q, seed = 123)
## restart from same seed, only sample 1
xx = inla.qsample(n=1, Q=Q, seed = 123)
## continue from the save state, sample the remaining 2
xxx = inla.qsample(n=n-1, Q=Q, seed = -1)
## should be 0
print(x - cbind(xx, xxx))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.