| pc.cormat {INLA} | R Documentation |
Utility functions for the PC prior for a correlation matrix
Description
Functions to evaluate and sample from the PC prior for a correlation matrix.
The parameterisation of a correlation matrix of dimension p has
dim parameters: theta which are in the interval -pi to pi.
The alternative parameterisation is through the off-diagonal elements
r of the correlation matrix R. The functions
inla.pc.cormat.<A>2<B> convert between parameterisations <A>
to parameterisations <B>, where both <A> and <B> are
one of theta, r and R, and p and dim.
Usage
inla.pc.cormat.dim2p(dim)
inla.pc.cormat.p2dim(p)
inla.pc.cormat.theta2R(theta)
inla.pc.cormat.R2theta(R)
inla.pc.cormat.r2R(r)
inla.pc.cormat.R2r(R)
inla.pc.cormat.r2theta(r)
inla.pc.cormat.theta2r(theta)
inla.pc.cormat.permute(R)
inla.pc.cormat.rtheta(n = 1, p, lambda = 1)
inla.pc.cormat.dtheta(theta, lambda = 1, log = FALSE)
Arguments
dim |
The dimension of |
p |
The dimension the correlation matrix |
theta |
A vector of parameters for the correlation matrix |
R |
A correlation matrix |
r |
The off diagonal elements of a correlation matrix |
n |
Number of observations |
lambda |
The rate parameter in the prior |
log |
Logical. Return the density in natural or log-scale. |
Value
inla.pc.cormat.rtheta generate samples from the prior,
returning a matrix where each row is a sample of theta.
inla.pc.cormat.dtheta evaluates the density of theta.
inla.pc.cormat.permute randomly permutes a correlation matrix, which
is useful if an exchangable sample of a correlation matrix is required.
Author(s)
Havard Rue hrue@r-inla.org
Examples
p = 4
print(paste("theta has length", inla.pc.cormat.p2dim(p)))
theta = inla.pc.cormat.rtheta(n=1, p=4, lambda = 1)
print("sample theta:")
print(theta)
print(paste("log.dens", inla.pc.cormat.dtheta(theta, log=TRUE)))
print("r:")
r = inla.pc.cormat.theta2r(theta)
print(r)
print("A sample from the non-exchangable prior, R:")
R = inla.pc.cormat.r2R(r)
print(R)
print("A sample from the exchangable prior, R:")
R = inla.pc.cormat.permute(R)
print(R)