knitr::opts_chunk$set( collapse = TRUE, comment = "#>", dev = "png", dev.args = list(type = "cairo-png"), fig.path = "man/figures/README-", out.width = "100%" )
The goal of inlabru is to facilitate spatial modeling using integrated nested Laplace approximation via the R-INLA package.
Additionally, extends the GAM-like model class to more general nonlinear predictor
expressions, and implements a log Gaussian Cox process likelihood for
modeling univariate and spatial point processes based on ecological survey data.
Model components are specified with general inputs and mapping methods to the
latent variables, and the predictors are specified via general R expressions,
with separate expressions for each observation likelihood model in
multi-likelihood models. A prediction method based on fast Monte Carlo sampling
allows posterior prediction of general expressions of the latent variables.
See
Fabian E. Bachl, Finn Lindgren, David L. Borchers, and Janine B. Illian (2019), inlabru: an R package for Bayesian
spatial modelling from ecological survey data, Methods in Ecology and Evolution, British Ecological Society, 10,
760--766, doi:10.1111/2041-210X.13168, and citation("inlabru")
.
The inlabru.org website has links to old tutorials with code examples for versions up to 2.1.13. For later versions, updated versions of these tutorials, as well as new examples, can be found at https://inlabru-org.github.io/inlabru/articles/
You can install the current CRAN version of inlabru:
install.packages("inlabru")
You can install the latest bugfix release of inlabru from GitHub with:
# install.packages("remotes") remotes::install_github("inlabru-org/inlabru", ref = "stable")
You can install the development version of inlabru from GitHub with
# install.packages("remotes") remotes::install_github("inlabru-org/inlabru", ref = "devel")
or track the development version builds via inlabru-org.r-universe.dev:
# Enable universe(s) by inlabru-org options(repos = c( inlabruorg = "https://inlabru-org.r-universe.dev", INLA = "https://inla.r-inla-download.org/R/testing", CRAN = "https://cloud.r-project.org" )) # Install some packages install.packages("inlabru")
This is a basic example which shows you how fit a simple spatial Log Gaussian Cox Process (LGCP) and predicts its intensity:
suppressPackageStartupMessages(library(sp))
# Load libraries library(INLA) library(inlabru) library(fmesher) library(ggplot2) # Construct latent model components matern <- inla.spde2.pcmatern( gorillas_sf$mesh, prior.sigma = c(0.1, 0.01), prior.range = c(0.01, 0.01) ) cmp <- ~ mySmooth(geometry, model = matern) + Intercept(1) # Fit LGCP model # This particular bru/like combination has a shortcut function lgcp() as well fit <- bru( cmp, like( formula = geometry ~ ., family = "cp", data = gorillas_sf$nests, samplers = gorillas_sf$boundary, domain = list(geometry = gorillas_sf$mesh) ), options = list(control.inla = list(int.strategy = "eb")) ) # Predict Gorilla nest intensity lambda <- predict( fit, fm_pixels(gorillas_sf$mesh, mask = gorillas_sf$boundary), ~ exp(mySmooth + Intercept) ) # Plot the result ggplot() + geom_fm(data = gorillas_sf$mesh) + gg(lambda, geom = "tile") + gg(gorillas$nests, color = "red", size = 0.5, alpha = 0.5) + ggtitle("Nest intensity per km squared")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.