The component definitions will automatically attempt to extract mapper
information from any model object by calling the generic bru_get_mapper.
Any class method implementation should return a bru_mapper object suitable
for the given latent model.
Usage
bru_get_mapper(model, ...)
# S3 method for class 'inla.spde'
bru_get_mapper(model, ...)
# S3 method for class 'inla.rgeneric'
bru_get_mapper(model, ...)
# S3 method for class 'inla.cgeneric'
bru_get_mapper(model, ...)
bru_get_mapper_safely(model, ...)Value
A bru_mapper object defined by the model component
Details
Before implementing your own bru_get_mapper method, check if there
is already a general method available that handles your model class, such as
bru_get_mapper.inla.spde(), bru_get_mapper.inla.rgeneric(), and
bru_get_mapper.inla.cgeneric().
Methods (by class)
bru_get_mapper(inla.spde): Extract an indexed mapper for themodel$meshobject contained in the model object, which is assumed to be of a class supporting relevantfmeshermethods.bru_get_mapper(inla.rgeneric): Returns the mapper given by a pre-computed mapper, or an index mapper mapping the size of the model graph.The easiest method to define a mapper for an
inla.rgenericmodel is to store the mapper in the object. Alternatively, define your model using a subclass and define abru_get_mapper.<subclass>method that should return the correspondingbru_mapperobject.The order of precedence for the mapper construction when calling
bru_get_mapper(model)has the following precedence:bru_get_mapper.<subclass>, ifmodelhas a subclass, otherwisemodel[["mapper"]]if that isNULL, and otherwisebm_index()using the size of the graph returned bymodel[["f"]][["n"]]
bru_get_mapper(inla.cgeneric): Works the same as the method ofinla.rgeneric
Functions
bru_get_mapper_safely(): Tries to call thebru_get_mapper, and returnsNULLif it fails (e.g. due to no available class method). If the call succeeds and returns non-NULL, it checks that the object inherits from thebru_mapperclass, and gives an error if it does not.
See also
bru_mapper for mapper constructor methods, and the individual mappers for specific implementation details.
Other mappers:
bm_aggregate(),
bm_collect(),
bm_const(),
bm_factor(),
bm_fm_mesh_1d,
bm_fmesher(),
bm_harmonics(),
bm_index(),
bm_linear(),
bm_logitaverage(),
bm_logsumexp(),
bm_marginal(),
bm_matrix(),
bm_mesh_B(),
bm_multi(),
bm_pipe(),
bm_repeat(),
bm_scale(),
bm_shift(),
bm_sum(),
bm_taylor(),
bru_mapper()
Examples
if (bru_safe_inla()) {
library(INLA)
mesh <- fmesher::fm_rcdt_2d_inla(globe = 2)
spde <- inla.spde2.pcmatern(mesh,
prior.range = c(1, 0.5),
prior.sigma = c(1, 0.5)
)
mapper <- bru_get_mapper(spde)
ibm_n(mapper)
}
#> Loading required package: Matrix
#> This is INLA_25.10.28 built 2025-10-28 09:15:54 UTC.
#> - See www.r-inla.org/contact-us for how to get help.
#> - List available models/likelihoods/etc with inla.list.models()
#> - Use inla.doc(<NAME>) to access documentation
#> [1] 42