Skip to contents

Create mapper for an fm_mesh_1d object

Usage

# S3 method for class 'fm_mesh_1d'
bru_mapper(mesh, indexed = TRUE, ...)

# S3 method for class 'bm_fm_mesh_1d'
ibm_n(mapper, ...)

# S3 method for class 'bm_fm_mesh_1d'
ibm_values(mapper, ...)

# S3 method for class 'bm_fm_mesh_1d'
ibm_jacobian(mapper, input, ...)

# S3 method for class 'bm_inla_mesh_1d'
ibm_n(mapper, ...)

# S3 method for class 'bm_inla_mesh_1d'
ibm_values(mapper, ...)

# S3 method for class 'bm_inla_mesh_1d'
ibm_jacobian(mapper, input, ...)

Arguments

mesh

An fm_mesh_1d object to use as a mapper

indexed

logical; If TRUE (default), the ibm_values() output will be the integer indexing sequence for the latent variables (needed for spde models). If FALSE, points representative of the basis centres are returned (useful for an interpolator for rw2 models and similar, for fmesher versions >= 0.3.0.9002).

...

Arguments passed on to other methods

mapper

A mapper S3 object, inheriting from bru_mapper.

input

Data input for the mapper.

Value

A bm_fm_mesh_1d or bm_fmesher object. The the general bm_fmesher() mapper handles all indexed fmesher objects.

Examples

m <- bru_mapper(fm_mesh_1d(c(1:3, 5, 7)))
ibm_values(m)
#> [1] 1 2 3 4 5
ibm_eval(m, 1:7, 1:5)
#> [1] 1.0 2.0 3.0 3.5 4.0 4.5 5.0

m <- bru_mapper(fm_mesh_1d(c(1:3, 5, 7)), indexed = FALSE)
ibm_values(m)
#> [1] 1 2 3 5 7
ibm_eval(m, 1:7, 1:5)
#> [1] 1.0 2.0 3.0 3.5 4.0 4.5 5.0

m <- bru_mapper(
  fm_mesh_1d(c(1:3, 5, 7), degree = 2, boundary = "free"),
  indexed = FALSE
)
ibm_values(m)
#> [1] 0.5 1.5 2.5 4.0 6.0 8.0
ibm_eval(m, 1:7, 1:6)
#> [1] 1.500000 2.500000 3.333333 3.958333 4.500000 5.000000 5.500000