inst/doc/Marked_Point_Process.R

## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = FALSE,
  warning = FALSE,
  message = FALSE
)


## ----setup--------------------------------------------------------------------
#  library(spatstat)
#  library(PointedSDMs)
#  library(sf)
#  library(sp)
#  library(ggplot2)
#  library(inlabru)
#  library(INLA)

## ----load_data----------------------------------------------------------------
#  
#  data(Koala)
#  eucTrees <- Koala$eucTrees
#  boundary <- Koala$boundary
#  

## ----clean_data, echo = FALSE,fig.width=7, fig.height=5-----------------------
#  
#  proj <- "+init=epsg:27700"
#  
#  boundary <- as(boundary, 'sf')
#  st_crs(boundary) <- proj
#  
#  euc <- st_as_sf(x = eucTrees,
#                  coords = c('E', 'N'),
#                  crs = proj)
#  
#  euc$food <- euc$FOOD/1000
#  euc <- euc[unlist(st_intersects(boundary, euc)),]
#  
#  class(trees)
#  
#  mesh = inla.mesh.2d(boundary = boundary,
#                      max.edge = c(10, 20),
#                      offset = c(15,20),
#                      cutoff = 2)
#  mesh$crs <- st_crs(proj)
#  
#  ggplot() +
#    geom_sf(data = st_boundary(boundary)) +
#    geom_sf(data = euc, aes(color = koala)) +
#    ggtitle('Plot showing number of koalas at each site')
#  
#  ggplot() +
#    geom_sf(data = st_boundary(boundary)) +
#    geom_sf(data = euc, aes(color = food)) +
#    ggtitle('Plot showing the food value index at each site')
#  
#  

## ----points_only,fig.width=7, fig.height=5------------------------------------
#  
#  points <- startISDM(euc, Boundary = boundary,
#                      Projection = proj,
#                      Mesh = mesh)
#  
#  points$specifySpatial(sharedSpatial = TRUE,
#                        prior.range = c(120, 0.1),
#                        prior.sigma = c(1, 0.1))
#  
#  pointsModel <- fitISDM(points, options = list(control.inla = list(int.strategy = 'eb')))
#  
#  pointsPredictions <- predict(pointsModel, mask = boundary,
#                               mesh = mesh, predictor = TRUE)
#  
#  pointsPlot <- plot(pointsPredictions, variable = 'mean',
#                     plot = FALSE)
#  
#  pointsPlot$predictions$predictions$mean +
#    gg(euc)
#  

## ----include_marks,fig.width=7, fig.height=5----------------------------------
#  
#  marks <- startMarks(euc, Boundary = boundary,
#                      Projection = proj,
#                      markNames = c('food', 'koala'),
#                      markFamily = c('gamma', 'poisson'),
#                      Mesh = mesh)
#  
#  marks$specifySpatial(sharedSpatial = TRUE,
#                        prior.range = c(120, 0.1),
#                        prior.sigma = c(1, 0.1))
#  
#  marks$specifySpatial(Mark = 'koala',
#                       prior.range = c(120, 0.1),
#                       prior.sigma = c(1, 0.1))
#  
#  marks$specifySpatial(Mark = 'food',
#                       prior.range = c(60, 0.1),
#                       prior.sigma = c(1, 0.1))
#  
#  marksModel <- fitISDM(marks, options = list(control.inla = list(int.strategy = 'eb'),
#                                               safe = TRUE))
#  
#  foodPredictions <- predict(marksModel, mask = boundary,
#                             mesh = mesh, marks = 'food', spatial = TRUE,
#                             fun = 'exp')
#  
#  koalaPredictions <- predict(marksModel, mask = boundary,
#                              mesh = mesh, marks = 'koala', spatial = TRUE)
#  
#  plot(foodPredictions, variable = c('mean', 'sd'))
#  plot(koalaPredictions, variable = c('mean', 'sd'))

## ----marks_add_scaling,fig.width=7, fig.height=5------------------------------
#  
#  marks2 <- startMarks(euc, Boundary = boundary,
#                       Projection = proj,
#                       markNames = 'food',
#                       markFamily = 'gaussian',
#                       Mesh = mesh)
#  
#  marks2$updateFormula(Mark = 'food',
#        newFormula = ~ exp(food_intercept + (shared_spatial + 1e-6)*scaling + food_spatial))
#  
#  marks2$changeComponents(addComponent = 'scaling(1)')
#  
#  marks2$specifySpatial(sharedSpatial = TRUE,
#                        prior.sigma = c(1, 0.01),
#                        prior.range = c(120, 0.01))
#  
#  marks2$specifySpatial(Mark = 'food',
#                        prior.sigma = c(1, 0.01),
#                        prior.range = c(120, 0.01))
#  
#  marksModel2 <- fitISDM(marks2, options = list(control.inla = list(int.strategy = 'eb'),
#                                                bru_max_iter = 2, safe = TRUE))
#  
#  predsMarks2 <- predict(marksModel2, mask = boundary, mesh = mesh,
#      formula =  ~ (food_intercept + (shared_spatial + 1e-6)*scaling + food_spatial))
#  
#  plot(predsMarks2)

Try the PointedSDMs package in your browser

Any scripts or data that you put into this service are public.

PointedSDMs documentation built on Sept. 11, 2024, 7:06 p.m.