Constructs a concatenated collection mapping
Usage
bru_mapper_collect(mappers, hidden = FALSE)
# S3 method for class 'bru_mapper_collect'
ibm_n(mapper, inla_f = FALSE, multi = FALSE, ...)
# S3 method for class 'bru_mapper_collect'
ibm_n_output(mapper, input, state = NULL, inla_f = FALSE, multi = FALSE, ...)
# S3 method for class 'bru_mapper_collect'
ibm_values(mapper, inla_f = FALSE, multi = FALSE, ...)
# S3 method for class 'bru_mapper_collect'
ibm_is_linear(mapper, inla_f = FALSE, multi = FALSE, ...)
# S3 method for class 'bru_mapper_collect'
ibm_jacobian(
mapper,
input,
state = NULL,
inla_f = FALSE,
multi = FALSE,
...,
sub_lin = NULL
)
# S3 method for class 'bru_mapper_collect'
ibm_eval(
mapper,
input,
state,
inla_f = FALSE,
multi = FALSE,
...,
sub_lin = NULL
)
# S3 method for class 'bru_mapper_collect'
ibm_linear(mapper, input, state, inla_f = FALSE, ...)
# S3 method for class 'bru_mapper_collect'
ibm_invalid_output(mapper, input, state, inla_f = FALSE, multi = FALSE, ...)
# S3 method for class 'bru_mapper_collect'
x[i, drop = TRUE]
# S3 method for class 'bru_mapper_collect'
ibm_names(mapper)
# S3 method for class 'bru_mapper_collect'
ibm_names(mapper) <- value
Arguments
- mappers
A list of
bru_mapper
objectslogical
, set toTRUE
to flag that the mapper is to be used as a first level input mapper forINLA::f()
in a model that requires making only the first mapper visible toINLA::f()
andINLA::inla.stack()
, such as for "bym2" models, as activated by theinla_f
argument toibm_n
,ibm_values
, andibm_jacobian
. Set toFALSE
to always access the full mapper, e.g. forrgeneric
models- mapper
A mapper S3 object, inheriting from
bru_mapper
.- inla_f
logical; when
TRUE
foribm_n()
andibm_values()
, the result must be compatible with theINLA::f(...)
and correspondingINLA::inla.stack(...)
constructions. Foribm_{eval,jacobian,linear}
, theinput
interpretation may be different. Implementations do not normally need to do anything different, except for mappers of the type needed for hidden multicomponent models such as "bym2", which can be handled bybru_mapper_collect
.- multi
logical; If
TRUE
(or positive), recurse one level into sub-mappers- ...
Arguments passed on to other methods
- input
Data input for the mapper.
- state
A vector of latent state values for the mapping, of length
ibm_n(mapper, inla_f = FALSE)
- sub_lin
Internal, optional pre-computed sub-mapper information
- x
object from which to extract element(s)
- i
indices specifying element(s) to extract
- drop
logical; For
[.bru_mapper_collect
, whether to extract an individual mapper wheni
identifies a single element. IfFALSE
, a list of sub-mappers is returned (suitable e.g. for creating a newbru_mapper_collect
object). Default:TRUE
- value
a character vector of the same length as the number of sub-mappers in the mapper
Value
[
-indexing abru_mapper_collect
extracts a subsetbru_mapper_collect
object (for dropFALSE
) or an individual sub-mapper (for dropTRUE
, andi
identifies a single element)
The
names()
method forbru_mapper_collect
returns the names from the sub-mappers list
Methods (by generic)
ibm_jacobian(bru_mapper_collect)
: Accepts a list with named entries, or a list with unnamed but ordered elements. The names must match the sub-mappers, seeibm_names.bru_mapper_collect()
. Each list element should take a format accepted by the corresponding sub-mapper. In case each element is a vector, the input can be given as a data.frame with named columns, a matrix with named columns, or a matrix with unnamed but ordered columns. Wheninla_f=TRUE
andhidden=TRUE
in the mapper definition, the input format should instead match that of the first, non-hidden, sub-mapper.ibm_invalid_output(bru_mapper_collect)
: Accepts a list with named entries, or a list with unnamed but ordered elements. The names must match the sub-mappers, seeibm_names.bru_mapper_collect()
. Each list element should take a format accepted by the corresponding sub-mapper. In case each element is a vector, the input can be given as a data.frame with named columns, a matrix with named columns, or a matrix with unnamed but ordered columns.
See also
bru_mapper, bru_mapper_generics
Other mappers:
bru_get_mapper()
,
bru_mapper()
,
bru_mapper.fm_mesh_1d()
,
bru_mapper.fm_mesh_2d()
,
bru_mapper_aggregate()
,
bru_mapper_const()
,
bru_mapper_factor()
,
bru_mapper_fmesher()
,
bru_mapper_generics
,
bru_mapper_harmonics()
,
bru_mapper_index()
,
bru_mapper_linear()
,
bru_mapper_logsumexp()
,
bru_mapper_marginal()
,
bru_mapper_matrix()
,
bru_mapper_mesh_B()
,
bru_mapper_multi()
,
bru_mapper_pipe()
,
bru_mapper_repeat()
,
bru_mapper_scale()
,
bru_mapper_shift()
,
bru_mapper_sum()
,
bru_mapper_taylor()
Examples
(m <- bru_mapper_collect(list(
a = bru_mapper_index(2),
b = bru_mapper_index(3)
), hidden = FALSE))
#> collect(a = index, b = index)
ibm_eval2(m, list(a = c(1, 2), b = c(1, 3, 2)), 1:5)
#> $offset
#> [1] 1 2 3 5 4
#>
#> $jacobian
#> 5 x 5 sparse Matrix of class "dgTMatrix"
#>
#> [1,] 1 . . . .
#> [2,] . 1 . . .
#> [3,] . . 1 . .
#> [4,] . . . . 1
#> [5,] . . . 1 .
#>