The Spatialkernel Package

An R package for spatial point process analysis.


This package contains functions for spatial point process analysis using kernel smoothing methods. This package has been written to be compatible with the splancs package which is available on CRAN (The Comprehensive R Archive Network).

For a complete list of functions with individual help pages, use library(help = \ "spatialkernel").


For the convience of the user, we present here examples which show how to use some of the functions in the package.


Pingping Zheng


  1. P. Zheng, P.A. Durr and P.J. Diggle (2004) Edge-correction for Spatial Kernel Smoothing --- When Is It Necessary? Proceedings of the GisVet Conference 2004, University of Guelph, Ontario, Canada, June 2004.

  2. Diggle, P.J., Zheng, P. and Durr, P. A. (2005) Nonparametric estimation of spatial segregation in a multivariate point process: bovine tuberculosis in Cornwall, UK. J. R. Stat. Soc. C, 54, 3, 645--658.

See Also

cvloglk, phat, mcseg.test, plotphat, plotmc, pinpoly, risk.colors, metre

  • spatialkernel-package
  • spatialkernel
## An example of spatial segregation analysis
  ## source in Lansing Woods tree data within a polygon boundary
  ## select data points within polygon
  ndx <- which(pinpoly(polyb, as.matrix(lansing[c("x", "y")])) > 0)
  pts <- as.matrix(lansing[c("x", "y")])[ndx,]
  marks <- lansing[["marks"]][ndx]
  ## select bandwidth
  #In a real application you may want to set 'length' to a higher value.
  h <- seq(0.02, 0.1, length=11)
  cv <- cvloglk(pts, marks, h=h)$cv
  hcv <- h[which.max(cv)]
  plot(h, cv, type="l")
  ## estimate type-specific probabilities and do segregation tests
  ## by one integrated function
  # In a real application, set 'ntest' to 99 or a larger number.
  sp <- spseg(pts, marks, hcv, opt=3, ntest=5, poly=polyb)
  ## plot estimated type-specific probability surfaces
  ## additional with pointwise significance contour lines
  plotmc(sp, quan=c(0.025, 0.975))
  ## p-value of the Monte Carlo segregation test
  cat("\np-value of the Monte Carlo segregation test", sp$pvalue)
  ##estimate intensity function at grid point for presentation
  ##with bandwidth hcv
  gridxy <- as.matrix(expand.grid(x=seq(0, 1, length=41), y=seq(0, 1, length=41)))
  ndx <- which(pinpoly(polyb, gridxy) > 0) ##inside point index
  lam <- matrix(NA, ncol = 41, nrow = 41)
  lam[ndx] <- lambdahat(pts, hcv, gpts = gridxy[ndx,], poly =
  brks <- pretty(range(lam, na.rm=TRUE), n=12)
  plot(0, 0, xlim=0:1, ylim=0:1, xlab="x", ylab="y", type="n")
  image(x=seq(0, 1, length=41), y=seq(0, 1, length=41),
    z=lam, add=TRUE, breaks=brks, col=risk.colors(length(brks)-1))
  metre(0, 0.01, 0.05, 0.51, lab=brks, col=risk.colors(length(brks)-1), cex=1)
  ## An example of inhomogeneous intensity function and K function
  ## estimated with the same data
  s <- seq(0, 0.06, length=51)
  lam <- lambdahat(pts, hcv, poly=polyb)$lambda
  kin <- kinhat(pts, lam, polyb, s)
  plot(kin$s, kin$k-pi*(kin$s)^2, xlab="s", ylab="k-pi*s^2", type="l")
# }
Documentation reproduced from package spatialkernel, version 0.4-23, License: CC BY-NC-SA 4.0

Community examples

Looks like there are no examples yet.