Generates a list of named index vectors for an rSPDE model.
Usage
rspde.make.index(
name,
n.spde = NULL,
n.group = 1,
n.repl = 1,
mesh = NULL,
rspde.order = 1,
nu = NULL,
dim = NULL
)
Arguments
- name
A character string with the base name of the effect.
- n.spde
The number of basis functions in the mesh model.
- n.group
The size of the group model.
- n.repl
The total number of replicates.
- mesh
An
inla.mesh
, aninla.mesh.1d
object or ametric_graph
object.- rspde.order
The order of the rational approximation
- nu
If
NULL
, then the model will assume that nu will be estimated. If nu is fixed, you should provide the value of nu.- dim
the dimension of the domain. Should only be provided if
mesh
is not provided.
Value
A list of named index vectors.
- name
Indices into the vector of latent variables
- name.group
'group' indices
- name.repl
Indices for replicates
Examples
# \donttest{
# devel version
if (requireNamespace("INLA", quietly = TRUE)) {
library(INLA)
set.seed(123)
m <- 100
loc_2d_mesh <- matrix(runif(m * 2), m, 2)
mesh_2d <- inla.mesh.2d(
loc = loc_2d_mesh,
cutoff = 0.05,
max.edge = c(0.1, 0.5)
)
sigma <- 1
range <- 0.2
nu <- 0.8
kappa <- sqrt(8 * nu) / range
op <- matern.operators(
mesh = mesh_2d, nu = nu,
range = range, sigma = sigma, m = 2,
parameterization = "matern"
)
u <- simulate(op)
A <- inla.spde.make.A(
mesh = mesh_2d,
loc = loc_2d_mesh
)
sigma.e <- 0.1
y <- A %*% u + rnorm(m) * sigma.e
Abar <- rspde.make.A(mesh = mesh_2d, loc = loc_2d_mesh)
mesh.index <- rspde.make.index(name = "field", mesh = mesh_2d)
st.dat <- inla.stack(
data = list(y = as.vector(y)),
A = Abar,
effects = mesh.index
)
rspde_model <- rspde.matern(
mesh = mesh_2d,
nu.upper.bound = 2
)
f <- y ~ -1 + f(field, model = rspde_model)
rspde_fit <- inla(f,
data = inla.stack.data(st.dat),
family = "gaussian",
control.predictor =
list(A = inla.stack.A(st.dat))
)
result <- rspde.result(rspde_fit, "field", rspde_model)
summary(result)
}
#> Warning: the mean or mode of nu is very close to nu.upper.bound, please consider increasing nu.upper.bound, and refitting the model.
#> mean sd 0.025quant 0.5quant 0.975quant mode
#> tau 0.00899475 0.0196365 3.12905e-12 0.00061639 0.0690215 3.12905e-12
#> kappa 25.65560000 12.1224000 1.33814e+01 22.08800000 58.4463000 1.61867e+01
#> nu 1.57015000 0.4314280 6.47840e-01 1.73497000 1.9990900 1.99998e+00
# devel.tag
# }