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,
...
)
symbol or numerical value: index or covariates to build index
string, model type, see ngme_model_types()
ngme_noise object, noise_nig() or noise_gal()
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 variables for latent model
name of the field, for later use, if not provided, will be "field1" etc.
specifed or inherit from ngme() function
group factor indicate resposne variable, can be inherited from ngme() function, (used for bivariate model)
belong to which group
factor indicating replicate structure for INLA-style replicates. When provided, operators and A matrices will be block-diagonalized across replicates.
observation matrix, automatically computed given map and model except for Bayesian regression
starting value of the process
stop sampling for W
fix the estimation for theta_K.
prior for theta_K
subset of the model
debug mode
additional arguments (e.g. parameters for model) inherit the data from ngme function
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
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, ...).