Function used for defining of smooth and spatial terms within ngme model formulae. The function is a wrapper function for specific submodels. (see ngme_models_types() for available models).

f(
  map,
  model,
  noise = noise_normal(),
  mesh = NULL,
  control = control_f(),
  name = "field",
  data = NULL,
  group = NULL,
  which_group = NULL,
  replicate = NULL,
  A = NULL,
  W = NULL,
  fix_W = FALSE,
  fix_theta_K = FALSE,
  prior_theta_K = ngme_prior("normal", param = c(0, 0.001)),
  subset = rep(TRUE, length_map(map)),
  debug = FALSE,
  ...
)

Arguments

map

symbol or numerical value: index or covariates to build index

model

string, model type, see ngme_model_types()

noise

ngme_noise object, noise_nig() or noise_gal()

mesh

mesh for the model, if not provided, will be built from map. Can be a single mesh object or a list of mesh objects for different replicates. When using replicates, provide mesh as a list where mesh[[i]] corresponds to replicate i.

control

control variables for latent model

name

name of the field, for later use, if not provided, will be "field1" etc.

data

specifed or inherit from ngme() function

group

group factor indicate resposne variable, can be inherited from ngme() function, (used for bivariate model)

which_group

belong to which group

replicate

factor indicating replicate structure for INLA-style replicates. When provided, operators and A matrices will be block-diagonalized across replicates.

A

observation matrix, automatically computed given map and model except for Bayesian regression

W

starting value of the process

fix_W

stop sampling for W

fix_theta_K

fix the estimation for theta_K.

prior_theta_K

prior for theta_K

subset

subset of the model

debug

debug mode

...

additional arguments (e.g. parameters for model) inherit the data from ngme function

Value

a list for constructing latent model, e.g. A, h, C, G, which also has 1. Information about K matrix 2. Information about noise 3. Control variables

Details

When using different meshes for different replicates, provide the mesh parameter as a list of mesh objects. The number of meshes should match the number of replicates. For example: mesh = list(mesh1, mesh2, mesh3) for 3 replicates.

When using the `replicate` argument, the operator matrices will be block-diagonalized. For a generic operator K = param1 * Matrix1 + param2 * Matrix2, with 2 replicates, the resulting operator becomes: K = param1 * bdiag(Matrix1_rep1, Matrix1_rep2) + param2 * bdiag(Matrix2_rep1, Matrix2_rep2) Similarly, the A matrix will be block-diagonalized as bdiag(A_rep1, A_rep2, ...).