tidy(), glance(), and augment() methods for bru objects, to
support the broom package tidying framework. Thanks to Novica Nakov
(2.14.1.9005)weights input to copy = ... components was not
consistently passed to the component mapper construction. This could be
partly worked around by specifying weights = 1 in the source component, but
only for estimation, so post-estimation computations would still ignore the
weights.
Now enforces that the same inputs are present in both the source and copy
definitions, ensuring a consistent mapper construction, and post-estimation
consistency. (2.14.1.9002)family = "cp" models, by using
family = "xpoisson" (2.14.1.9003)bru_fill_missing() for SpatRaster data that resulted
in an error for layers beyond the first layer (2.14.1.9006)plyr. Fixes #301 (2.14.1.9004)factor_contrast
always used the alphabetically first level as contrast, instead of the
factor-defined first level (2.14.0.9001)eval_spatial<SpatRaster> to return factor data for pure factor layer
extraction. Layer-specific terra::extract() may return integer instead of
factor data, as multi-layer extraction would otherwise need to mix data of
different types (2.14.0.9002)2.14.0.9004)fmesher from Depends: to Imports: to avoid unnecessary
namespace clashes and encourage explicit fmesher declarations in user code
(version 2.14.0.9003). Temporarily keep re-exporting fm_int and
fm_pixels to avoid breaking outdated packages, for CRAN bugfix release
2.14.1.bru_names() method for extracting the inlabru standardised names of
fixed effects, latent components, and hyperparameters from a fitted bru
object. (version 2.13.0.9011)bm_logitaverage() mapper, for weighted logit-averages
(version 2.13.0.9010)bm_reparam() mapper, for fixed-matrix reparameterisations of existing
mappers (version 2.13.0.9019)bru_comp_env_extra() getter and setter methods for the env_extra
element of bru_comp() objects, to allow storing extra information for use in
component definitions. Mostly for internal use, but may be used by external
packages needing to store and access special data.
(version 2.13.0.9035)bru_input_text() methods for extracting the component input information
as text, e.g. for use in error messages (version 2.13.0.9036)gorillas_sf data set, with new mesh better suited for modelling,
with a regular interior triangular mesh. (version 2.13.0.9034)mexdolphin_sf data set, with new mesh. (version 2.13.0.9035)bru_get_mapper() support for inla.cgeneric objects, and update
the support for inla.rgeneric, to standardise where to store a
pre-constructed mapper, so that external packages will no longer need to
add their own bru_get_mapper() methods for their r/cgeneric sub-classes,
if the mapper is pre-computed.
(version 2.13.0.9005)group and replicate parts of each latent component, speeding
up component evaluation and linearisation. (version 2.13.0.9006)bru_index(), returning
all matching indices. (version 2.13.0.9014)bru_obs() and bru_comp() objects
to prepare for future extensions. For 2.14, the compatibility option
bru_compat_pre_2_14_enable is set to TRUE (version 2.13.0.9015,
2.13.0.9017, 2.13.0.9018)block_response element to bru_obs(aggregate_input) list input,
to allow specifying a block-wise response variable to match for aggregated
predictors. (version 2.13.0.9016)bru_obs(allow_combine) argument with its logical inverse,
bru_obs(is_rowwise), to make the meaning clearer.
(version 2.13.0.9017)control.gcpo friends structure generation for bru_obs() with
large numbers of samplers or observations. (version 2.13.0.9028 with further
speedup in 2.13.0.9029)control.gcpo computation in the final inla() iteration
(version 2.13.0.9030)control.gcpo for "cp" models if control.gcpo list input
is supplied (version 2.13.0.9031)bru_compress_cp = FALSE by default, to avoid dense precision
matrix blocks (version 2.13.0.9031)sample.lgcp() to sf internals and output format
(version 2.13.0.9033).bru_set_missing<inla.surv>() to correctly handle the
inla.surv() class variations (version 2.13.0.9002)2.13.0.9004)extended_bind_rows() method for unifying XY/XYZ sf
coordinate columns (version 2.13.0.9009)generate() and predict()
(version 2.13.0.9027)bru_obs_family_cp() for unifying XY/XYZ
coordinate columns
(version 2.13.0.9033)bru_fill_missing() to handle missing values in sf input
data, so that e.g. bru_fill_missing(input, input, input$values) works as
expected (version 2.13.0.9022)bru object upgrades from 2.12.0; the 2.12.0.9014 upgrade step needed
to introduce the "bru_obs" class name earlier, and upgrades through
2.13.0.9017, that introduced a new predictor expression storage system
(version 2.13.0.9024)bru_obs_control_gcpo() for multi-observation models.
(version 2.13.0.9025)weights argument to bru_obs(family = "cp")/lgcp()
to contain individual point observation weights, so that the eta contribution to
the log-likelihood is sum(weights * eta) instead of sum(eta) (version
2.12.0.9006)2.12.0.9014)bru_obs(..., aggregate = ..., aggregate_input = ...) to simplify
specification of models with aggregation as the final step of the predictor
evaluation (version 2.12.0.9013, bugfix in 2.12.0.9016). Includes support
for constructing the aggregation information, via domain,samplers, or
precomputed ips (version 2.12.0.9022)bru_set_missing() method for setting missing values in the
bru_obs data, e.g. for use in cross-validation or prior sampling
(version 2.12.0.9024)2.12.0.9002)2.12.0.9004)inputs data to the bru_info object, so that the component inputs
can be pre-evaluated before automated mapper construction, and avoiding
duplicate evaluation in iinla(). This can halve the pre-processing
time for large spatial and spatio-temporal models (version 2.12.0.9010)bru_log() data for warnings and errors reported by inlabru (version
2.12.0.9011)bru_like object class to bru_obs (version 2.12.0.9017)
and temporarily re-reintroduce like_list() and bru_like_list() as aliases
for bru_obs_list() (version 2.12.0.9020)quantile argument to spde.posterior() for controlling the credible
interval calculations, like materncov.bands(), which is now also exported
(version 2.12.0.9019)dic and waic from default control.compute
bru_options, to match INLA defaults (version 2.12.0.9024)bru_mapper_<type>
to bm_<type>, to make code using them more readable. Objects of the old
class names will be converted to the new classes internally, so that old
stored objects will still work. Constructors of the form bru_mapper_<type>()
call the corresponding new constructor bm_<type>() (version 2.12.0.9021)bm_sum() mapper, for automated adding the output of
multiple mappers, optionally with a single common input (version 2.12.0.9001)interleaved option to bm_repeat() to allow interleaved
states for summation of a repeated mapper (version 2.12.0.9001)n_block in input argument to bm_aggregate and
bm_logsumexp evaluation methods, overriding the optional mapper
object setting (version 2.12.0.9005)fmesher will refuse character block input from version 0.5.0.
Was: Allow character block information in bm_aggregate and
bm_logsumexp mappers, from fmesher version 0.2.0.9017
(version 2.12.0.9013))Cmatrix and graph
arguments, if present and n is NULL (version 2.12.0.9012)bm_list mapper list handling, removing unnecessary
method layers for component linearisation and simplification
(version 2.12.0.9018)Spatial object inputs to bru_obs(), as
maintaining the fallback support code is becoming increasingly time-consuming,
and the sf package is now the recommended spatial data handling package.
(version 2.12.0.9023)generate.bru() for evaluation of expressions in the absence of
newdata (version 2.12.0.9007)mid locations for ibm_values() for non-indexed fm_mesh_1d mapper
(version 2.12.0.9009)include and exclude arguments to predict() and
generate() (version 2.12.0.9003)NROW() on the main component gave the correct size for group
and replicate in the component _eval() feature.
Now uses ibm_n_output() instead. Fixes #271 (version 2.12.0.9015)bru_obs() as a replacement to like(), to help avoid namespace
clashes with e.g. data.table::like() (version 2.11.1.9026)bru_obs(allow_combine)/like() to allow user override, and
add warnings for ambiguous cases (version 2.11.1.9011)bru_response_size() method for extracting the response size for each
observation bru_obs object (version 2.11.1.9013)sf output format support for sline and spoly (version 2.11.1.9006)[ and ] to special character set in bru_standardise_names()
(version 2.11.1.9012)bru_index() method for accessing predictor index information for
sub-models, and a tag argument for bru_obs() to identify individual
sub-models by name, which is also propagated to lists of bru_like objects
(version 2.11.1.9017 and 2.12.0)bru_mapper_multi() sub-mappers to have non-zero offsets, that are
added to generate the combined offset (version 2.11.1.9019)bru_mapper_fmesher() mapper, for indexed mapping of
all objects supporting fm_dof() and fm_basis() (version 2.11.1.9021)bru_mapper_repeat() mapper, for automated single-mapper sums
(version 2.11.1.9022)mrsea to sf format (version 2.11.1.9009)shrimp data set to sf format (version 2.11.1.9007)seals_sp data set due to excessive size (version 2.11.1.9010)mexdolphin dataset with a function mexdolphin_sp()
to avoid sp data objects in the package (version 2.11.1.9015)gorillas dataset with a function gorillas_sp()
to avoid sp data objects in the package (version 2.11.1.9016)sp from Imports to Suggests. Component definitions using
coordinates as input require either sp::coordinates or sp having been
already loaded with e.g. library(sp) (version 2.11.1.9003)ggmap support (version 2.11.1.9002)INLA namespace loading in ggplot methods
(version 2.11.1.9008)terra from Imports to Suggests (version 2.11.1.9014)fmesher methods (version 2.11.1.9020)is.inside() have been removed.
Use fmesher::fm_is_within() instead.bru_mapper.default() to define new mapper classes
has been removed. Use bru_mapper_define() instead.bru_mapper_offset() method has been removed.
Use bru_mapper_const() instead."list" class inheritance from solitary classes
(version 2.11.1.9001)summary and print method class coverage (version 2.11.1.9002)bru_safe_inla()
(version 2.11.1.9005)component and component_list methods to bru_component
and bru_component_list (version 2.11.1.9026)scale parameter to like().inla.mdata() and inla.surv(),
when INLA version > 24.06.02 (for mdata) or > 24.06.26 (for surv) are
available (version 2.10.1.9011)toypoints example data set, for basic modelling examples
(version 2.10.1.9003)2.10.1.9004)bru_convergence_plot() to control the number of iterations
shown, and optionally show the initial values that are stored from this version
(version 2.10.1.9005)Sys.time() to proc.time() to capture CPU time
instead of elapsed clock time. Added bru_timings() method to extract the timings
safely from a fitted bru object (version 2.10.1.9007 and 2.10.1.9010)2.10.1.9012)"bym" model support, where the latent state size
wasn't correctly handled by the mapper system (version 2.10.1.9002)2.10.1.9006)sp data input for family = "cp"
(version 2.10.1.9008)ipoints(samplers, domain) is no longer available.
Use fmesher::fm_int(domain, samplers) instead.allow_latent, include_latent arguments to like() have been deprecated in favour
of the general bru_used() framework, that auto-detects what component effects and
latent effects are used by a predictor expression.cprod() method now gives a warning and will be removed in a future version.
Use fmesher::fm_cprod() instead.integration_weight_aggregation method has been removed (deprecated since 2.8.0).
Use fmesher::fm_vertex_projection() instead.mesh_triangle_integration method has been removed (deprecated since 2.8.0).
Use fmesher::fm_int() instead.bru_mapper.default() to define new mapper classes has been disabled
(deprecated since 2.7.0). Use bru_mapper_define() instead.is.inside(), vertices.inla.mesh(), and
pixels() have been disabled. Use fmesher::fm_is_within(), fmesher::fm_vertices(),
and fmesher::fm_pixels() instead.ggpolypath package, and the
ggplot2::fortify.SpatialPolygons/DataFrame() methods that were deprecated in
ggplot2 version 3.4.4. Code using gg.SpatialPolygons() together with
coord_fixed()/coord_equal() for coordinate axis control needs to use
coord_sf() instead.bru_forward_transformation to
allow bru_mapper_marginal to be applied with e.g. spatially varying parameters.
(version 2.10.0.9001)terra version >= 1.7-66 that removes the need for
detecting special cases (nrow(where) == 1 and terra::nlyr(data) == 1).
Workaround code used for versions < 1.7-66. (version 2.10.0.9002)
(Thanks to Robert J. Hijmans)ibm_simplify() generic to handle mapper simplification more generally;
needed to properly support non-linear component mappers. (version 2.9.0.9004)bru_mapper_marginal() mapper class that can be used as part of component
mapper pipelines. (version 2.9.0.9004)ibm_eval2() generic that computes both evaluation and Jacobian,
avoiding double-computing of the Jacobian, when practical. (version 2.9.0.9005)bru_timings_plot() function that plots the time used for each nonlinear iteration
(version 2.9.0.9007)bru_fill_missing() (by orders of magnitude) by changing method for
finding the nearest available data point. (version 2.9.0.9011)bru_mapper_shift() mapper class that works like bru_mapper_scale()
but for additive shifts instead of multiplicative scaling. (version 2.9.0.9012)2.9.0.9013)bru_mapper_matrix, previously used only for component model = "fixed",
to allow integer indexing in addition to the previous factor/character-only indexing.
(version 2.9.0.9014)is_linear flag wasn't correctly set for bru_mapper_logsumexp mappers.
Since previous versions did not accept non-linear component mappers, this
is unlikely to have affected any user code. (Fixed in version 2.9.0.9001)2.9.0.9002 and 2.9.0.9006)NULL in automatic component usage detection. (version 2.9.0.9003)gorillas$plotsample$counts and
gorillas_sf$plotsample$counts from +units=m to +units=km. (version 2.9.0.9010)
The geometry information in counts is unlikely to have been used in examples
or analysis code, as the problem would have been immediately obvious;
plotting or other geometric operations that use the crs information would
heve been completely wrong, and is only detected now that more code uses the
crs information at all. Thanks to Dmytro Perepolkin for reporting in issue #205bru_fill_missing() for cases where the input data object also
has missing values. (version 2.9.0.9011)eval_spatial() transform the where coordinates to the same crs as the
input data, for SpatRaster and sf inputs, to allow different crs specifications.
(version 2.9.0.9012)Conversion of code to use fmesher for mesh and geometry handling;
the interface supports existing objects and methods.
See https://inlabru-org.github.io/fmesher/articles/inla_conversion.html for
more information.
General speed improvements, see below for details.
Added gg.sf() method.
Add experimental support for stars via eval_spatial().
(version 2.8.0.9007)
Move the sp package from 'Depends' to 'Imports'. This means that user code
should either use sp:: or library("sp") to access sp methods.
The bru_safe_sp() helper function can be used to check for a safe
sp package configuration during the transition from rgdal to sf, and
is only needed if you may run on systems with sp installations older than
"2.0-0" or with sp::get_evolution_status() < 2. (version 2.8.2011)
Now preserves the previous log output when using bru_rerun(),
and bru_log() is now a set of S3 methods, supporting extracting the
full inlabru log as well bru-object specific logs (version 2.8.0.9008).
Note: From version 2.9.0, use bru_log() to access the global log, and
bru_log(fit) to access a stored estimation log.
Up to version 2.8.0, bru_log() was a deprecated alias for
bru_log_message(). When running on 2.8.0 or earlier, use bru_log_get()
to access the global log, and cat(fit$bru_iinla$log, sep = "\n") to print
a stored estimation object log.
SpatialPolygonsDataFrame
were not automatically passed on to eval_spatial(). The logic has now changed
so that any object with a eval_spatial() method will trigger a call to
eval_spatial(). See ?input_eval for further information.
(version 2.8.0.9001)fm_crs_is_null(), fm_transform() now supports oblique fm_crs CRS objects,
and is.na() methods for the fm_crs and inla.CRS classes have been added.
(version 2.8.0.9003)predict() by using quantile(..., names = FALSE).
(version 2.8.0.9004)row_kron() code, causing speedups of a factor 2-30 in randomised
test cases. (version 2.8.0.9005)sf method for eval_spatial(), causing failure
when extracting from multiple layers in a single call.
(version 2.8.0.9007)generate()
and predict(). Now much faster for large models. (version 2.8.0.9009)*_latent form of a component.
(version 2.8.0.9015)bru_fill_missing(). (version 2.8.0.9016, fixes #200)eval_SpatialDF removed, deprecated since 2.8.0. See eval_spatial instead.stransform, ibm_amatrix, ibm_valid_input removed, deprecated since 2.7.0.
See fm_transform and ibm_jacobian instead.bru_mapper_offset, deprecated since 2.6.0 now returns a pure bru_mapper_const
object, and all bru_mapper_offset ibm_* methods have been removed.init.tutorial removed, deprecated since 2.5.0generate.inla and predict.inla removed, deprecated since 2.1.0The iterative inla method has been given both sharper internal inla() optimisation
criteria for the iterations (thanks to Haavard Rue), and a more relaxed
nonlinear iteration stopping criterion; the default bru_method$rel_tol
values has been changed from 1 to 10 percent change. The iterations are
terminated when all latent and hyper-parameter mode changes fullfil
|change|/SD < rel_tol, and the non-linear line search is inactive.
This seems to strike a useful balance between the different optimisation
criteria, allowing the iterations to converge faster and also detect that
convergence sooner.
The logic for which components are needed for a predictor expression
(in like() or generate()/predict()) has been updated to when possible
extract the list of components from the expression itself.
The user can override this default if necessary, using the include/exclude arguments.
The bru_used() methods are used to guess the needed component names, applied
to the right-hand side of the formula arguments. The allow_latent argument
to like() has been deprecated in favour of include_latent
(by default auto-detected for use of _latent and _eval).
The internal information storage is handled by the new bru_used()
methods, that can also be used directly by the user and supplied via the
used argument to like()/generate()/predict().
Add fm_int() integration methods, replacing the old ipmaker() and ipoints() methods.
Supports both sf and sp sampler objects.
Add fm_pixels() methods for gridded points. The old
pixels() method now calls fm_pixels(..., format = "sp")
eval_spatial support for sf objects (for point-in-polygon data lookups)
Allow precomputed spatial covariates in the data for point process observations
Add edge|int|ext.linewidth arguments to gg.inla.mesh #188
Rename the predict() and generate() data arguments to newdata, for
better compatibility with other predict() methods. The old argument name
will still be accepted, but give a warning. Code that does not name the data
argument is not affected.
Note: Coordinate names for Spatial* objects have been inconsistently
available in the predictor expression evaluation. However, due to how internal
conversions might inadvertently change these names, they can not be relied
on, and they are no longer being made available to the predictor expression.
As a side effect, this change also speeds up some bru() runs by around a
factor 2, since it avoids converting the Spatial* to a regular data.frame
in time-sensitive core evaluation code.
If you need access to the raw coordinate values, use explicit calls to
sp::coordinates(.data.) (e.g. for custom spatial covariate evaluation.).
When possible, use the built-in covariate evaluation method, eval_spatial(),
either implicitly with comp(covariate, ...) or explicitly,
comp(eval_spatial(covariate, where = .data.), ...), that handles crs information
correctly. Also consider transitioning from sp to sf data storage, using
geometry instead of raw coordinates.
rgdal and maptools dependencies #178bru_safe_sp() to check if sp can be used safely (checks rgdal availability
and sp evolution status, optionally forcing use of sf) #178rgl.* functions to *3d. Thanks to Duncan Murdoch #181ibm_jacobian.bru_mapper_harmonics for large modelssf::st_*
calls that don't account for the geos canonical representation being CW,
whereas the canonical Simple Features representation being CCW. See
https://github.com/r-spatial/sf/issues/2096sf and terra inputs to most methodsbru_mapper() systembru_convergence_plot()Allow NA input for default 1D mappers to generate effect zero, like
in inla().
New and expanded methods fm_crs(), fm_CRS(), fm_transform(),
fm_ellipsoid_radius(), and fm_length_unit() to further support sf objects.
The fm_crs() extraction method also supports terra objects.
bru_fill_missing() now supports terra SpatRaster data and and sf locations.
New experimental methods fm_evaluator() and fm_evaluate(), replacing the
INLA inla.mesh.projector and inla.mesh.project methods.
Experimental integration support for sphere and globe meshes.
Allow sf input to family="cp" models.
Further bru_mapper() method updates;
ibm_amatrix() and names()
methods, replaced by ibm_jacobian() and ibm_names().bru_mapper_pipe(), used to link mappers in sequence.bru_mapper_aggregate() and bru_mapper_logsumexp(),
used for blockwise weighted sums and log-sum-exp mappings,
output[k] = sum(weights[block==k]*state[block==k]))) and
output[k] = log(sum(weights[block==k]*exp(state[block==k]))),
with optional weight normalisation within each block. Allows
providing the weights as log-weights, and uses block-wise shifts to
avoid potential overflow.summary methods for bru_mapper objects (summary.bru_mapper())methods argument from bru_mapper_define(). Implementations
should register S3 methods instead.spatstat.core dependency. Fixes #165ibm_eval.default()
and ibm_eval.bru_mapper_collect() methods, where they would return zeros
instead of the intended values.
The main component evaluation and estimation code was not directly affected
as that is based on the bru_mapper_multi() class methods that rely on the
Jacobians instead. The bug would therefore mainly have impacted the future,
not yet supported nonlinear mapper extensions.eval_spatial.SpatRaster; Work around inconsistent logic in
terra::extract(..., layer) when length(layer)==1 or nrow(where)==1.
Fixes #169indexed logical option to bru_mapper_factor(), to allow
factor inputs to be mapped to index values, as needed for group and
replicate. Fixes #174Add bru_get_mapper generic, and associated methods for inla.spde and
inla.rgeneric objects. This allows inlabru to automatically extract
the appropriate bru_mapper object for each model component, and can be used
as a hook by external packages implementing new INLA object classes.
Add a weights argument for like(), for likelihood-specific log-likelihood
weights, passed on to the INLA::inla() weights argument. Evaluated in the
data context.
The <component>_eval() methods available in predictor expressions
now handle optional scaling weights, like in ordinary component effect
evaluation.
Add terra support for covariate inputs
The component *_layer arguments are now evaluated in the data context,
to allow dynamic layer selection for spatial raster covariates. A new
generic eval_spatial() provides support for grid/pixel based
Spatial*DataFrame evaluation, and SpatRaster. Expanded support
is in progress.
New vignettes on the bru_mapper system, component definitions,
and prediction_scores
General overhaul of the bru_mapper and linearised predictor system,
to prepare for new features.
ibm_eval generic for evaluating mappers for given states.bru_mapper_taylor, used as an internal mapper for linearised
mappers. This and ibm_eval is aimed at future support for nonlinear
mappers. Associated new generic methods: ibm_{is_linear,jacobian,linear}.ibm_jacobian instead of ibm_amatrix.
This allows defining a linearised mapper via
ibm_eval(input, state0) + ibm_jacobian(input, state0) %*% (state - state0).bru_mapper_const, which replaces bru_mapper_offset.
bru_mapper_offset is now deprecated and will produce warnings.epsg:4326. Fixes #154Tsparse assumptions in row_kron to prepare for Matrix 1.5-2.
Fixes #162bru_mapper_harmonics mapper for cos and sin basis sets.predict() input data to be be a list.predict()cv, var, smin, smax summaries from predict()mean.mc_std_err and sd.mc_std_err output to predict()robins_subset data set and associated variable coefficient web vignettebru_mapper_collect models.inla.mode="classic"
to use proper line search.unique
method. Fixes #145strategy="gaussian" during iterations.bru() timing information in $bru_timings and $bru_iinla$timingsSpatialPolygonsDataFrame support to gg() methodsE and Ntrials from response_data and data
(further special arguments remain to be added)deltaIC improvementsbru_{forward/inverse}_transformation()~ name(~ -1 + a + b + a:b, model = "fixed"), covariate fixed effect interaction
specifications can be made. For formula input, MatrixModels::model.Matrix()
is called to construct matrix input that is then used as the A-matrix for
fixed effects, one per column, added up to form the combined effect.evaluate_model() for cases where the inla_f
argument mattersdata argument
is now allowed to be a list(), and the new argument response_data allows separate
specification of component inputs and response variables.bru_mapper_collect class for handling sequential collections of
mappers, including collections where all but the first mapper is hidden from the
INLA::f() arguments n and values, as needed to support e.g. "bym2" models.control.family as a direct argument to like(). Gives a warning if a
control.family argument is supplied to the the options argument of bru(),
but at least one likelihood has control.family information. (Issue #109)SpatialPointsDataFrame and SpatialGridDataFrame input
to bru_fill_missing()model = "offset" components instead of special options, to
avoid interfering with the linearisation system (Issue #123)bru_method$stop_at_max_rel_deviation to bru_method$rel_tol.
Automatic conversion to the new name, but a warning is given.bru_method$max_step to control the largest allowed line search
scaling factor. See ?bru_optionsbru_compress_cp set to TRUE to compress the predictor
expression for family="cp" to use a single element for the linear predictor sum.map has been deprecated. Use main to specify
the main component input, ~ elev(main = elevation, model = "rw2").
Unlike the old map argument, main is the first one, so the shorter version
~ elev(elevation, model = "rw2") also works.~ Intercept(1)
to avoid accidental confusion with other variables.bru() has been simplified, so that all arguments except
components and options must either be outputs from calls to like(), or
arguments that can be sent to a single like() call.?bru_options() for details.samplers and domain system for lgcp models is now stricter, and
requires explicit domain definitions for all the point process dimensions.
Alternatively, user-defined integration schemes can be supplied via the ips
argument.main, group, replicate, and weights
can now take general R expressions using the data inputs. Special cases are detected:
SpatialPixels/GridDataFrame objects are evaluated at spatial locations if
the input data is a SpatialPointsDataFrame object. Functions are evaluated
on the data object, e.g. field(coordinates, model = spde)mapper, group_mapper, and replicate_mapper can be
used for precise control of the mapping between inputs and latent variables.
See ?bru_mapper for more details. Mapper information is automatically extracted
from INLA::inla.spde2.pcmatern() model objects.weights and copy features are now supported..data.allow_combine = TRUE
argument must be supplied to like()include and exclude arguments to like(), generate(), and predict()
can be used to specify which components are used for a given likelihood model
or predictor expression. This can be used to prevent evaluation of components
that are invalid for a likelihood or predictor._latent to the component name, e.g. name_latent.
For like(), this requires
allow_latent = TRUE to activate the needed linearisation code for this._eval to access special evaluator functions, e.g.
name_eval(1:10). This is useful for evaluating the 1D effect of spatial covariates.
See the NEWS item for version 2.2.8 for further details.Add _eval suffix feature for generate.bru and predict.bru, that
provides a general evaluator function for each component, allowing evaluation
of e.g. nonlinear effects of spatial covariates as a function of the covariate
value instead of the by the spatial evaluator used in the component definition.
For example, with components = ~ covar(spatial_grid_df, model = "rw1"), the
prediction expression can have ~ covar_eval(covariate), where covariate
is a data column in the prediction data object.
For components with group and replicate features, these also need to be
provided to the _eval function, with
..._eval(..., group = ..., replicate = ...)
This feature is built on top of the _latent suffix feature, that gives
direct access to the latent state variables of a component, so in order to
use _eval in the model predictor itself, you must use
like(..., allow_latent = TRUE) in the model definition.
ngroup and nrep in component definitionsmexdolphin and mrsea data sets, with consistent km units and
improved mesh designspredict(..., include) discussion to distance sampling vignette, for
handling non-spatial prediction in spatial models.gg.SpatialLinesSpatial* object handling and plottingpredict() logic for converting output to Spatial*DataFramecontrol.mode=list(restart=FALSE) in the final inla run for nonlinear
models, to avoid an unnecessary optimisation.pixels() and bru_fill_missing() for Spatial*DataFrame
objects with ncol=0 data frame parts.comp2(input, copy = "comp1")comp(input, weights, ...).data., allowing e.g. covar(fun(.data.), ...) for a complex
covariate extractor method fun()bru_mapper objects"factor_contrast" model, or all levels with model "factor_full".
Further options planned (e.g. a simpler options to fix the precision
parameter). The estimated coefficients appear as random effects in the
inla() output.map= to main= or unnamed first argument;
Since main is the first parameter, it doesn't need to be a named argument.int.args option to control spatial integration resolution,
thanks to Martin Jullum (martinju)VignetteBuilder entry from DESCRIPTIONint.polygon from integrating outside the mesh domain,
and generally more robust integration scheme construction.bru() to like() parameter logic. (Thanks to Peter Vesk for bug example)NEWS.md file to track changes to the package.inla methods for predict() and generate() that convert
inla output into bru objects before calling the bru prediction
and posterior sample generator.sample.lgcp output formatting, extended CRS support, and more efficient sampling algorithmiinla() tracks convergence of both fixed and random effectsgg.matrix()