Estimates the inhomogeneous pair correlation function of a point pattern using kernel methods.
pcfinhom(X, lambda = NULL, ..., r = NULL,
         kernel = "epanechnikov", bw = NULL, stoyan = 0.15,
         correction = c("translate", "Ripley"),
         divisor = c("r", "d"),
         renormalise = TRUE, normpower=1,
         update = TRUE, leaveoneout = TRUE,
         reciplambda = NULL,
         sigma = NULL, varcov = NULL, close=NULL)A point pattern (object of class "ppp").
Optional.
    Values of the estimated intensity function.
    Either a vector giving the intensity values
    at the points of the pattern X,
    a pixel image (object of class "im") giving the
    intensity values at all locations, a fitted point process model
    (object of class "ppm") or a function(x,y) which
    can be evaluated to give the intensity value at any location.
Vector of values for the argument \(r\) at which \(g(r)\) should be evaluated. There is a sensible default.
Choice of smoothing kernel, passed to density.default.
Bandwidth for smoothing kernel,
    passed to density.default.
    Either a single numeric value,
    or a character string specifying a bandwidth selection rule
    recognised by density.default.
    If bw is missing or NULL,
    the default value is computed using
    Stoyan's rule of thumb: see bw.stoyan.
Other arguments passed to the kernel density estimation 
    function density.default.
Coefficient for Stoyan's bandwidth selection rule;
    see bw.stoyan.
Character string or character vector
    specifying the choice of edge correction.
    See Kest for explanation and options.
Choice of divisor in the estimation formula:
    either "r" (the default) or "d".
    See pcf.ppp.
Logical. Whether to renormalise the estimate. See Details.
Integer (usually either 1 or 2). Normalisation power. See Details.
Logical. If lambda is a fitted model
    (class "ppm", "kppm" or "dppm")
    and update=TRUE (the default),
    the model will first be refitted to the data X
    (using update.ppm or update.kppm)
    before the fitted intensity is computed.
    If update=FALSE, the fitted intensity of the
    model will be computed without re-fitting it to X.
Logical value (passed to density.ppp or
    fitted.ppm) specifying whether to use a
    leave-one-out rule when calculating the intensity.
Alternative to lambda.
    Values of the estimated reciprocal \(1/\lambda\)
    of the intensity function.
    Either a vector giving the reciprocal intensity values
    at the points of the pattern X,
    a pixel image (object of class "im") giving the
    reciprocal intensity values at all locations,
    or a function(x,y) which can be evaluated to give the
    reciprocal intensity value at any location.
Optional arguments passed to  density.ppp
    to control the smoothing bandwidth, when lambda is
    estimated by kernel smoothing.
Advanced use only. Precomputed data. See section on Advanced Use.
A function value table (object of class "fv").
  Essentially a data frame containing the variables
the vector of values of the argument \(r\) at which the inhomogeneous pair correlation function \(g_{\rm inhom}(r)\) has been estimated
vector of values equal to 1, the theoretical value of \(g_{\rm inhom}(r)\) for the Poisson process
vector of values of \(g_{\rm inhom}(r)\) estimated by translation correction
vector of values of \(g_{\rm inhom}(r)\) estimated by Ripley isotropic correction
To perform the same computation using several different bandwidths bw,
  it is efficient to use the argument close.
  This should be the result of closepairs(X, rmax)
  for a suitably large value of rmax, namely
  rmax >= max(r) + 3 * bw.
The inhomogeneous pair correlation function \(g_{\rm inhom}(r)\) is a summary of the dependence between points in a spatial point process that does not have a uniform density of points.
The best intuitive interpretation is the following: the probability \(p(r)\) of finding two points at locations \(x\) and \(y\) separated by a distance \(r\) is equal to $$ p(r) = \lambda(x) lambda(y) g(r) \,{\rm d}x \, {\rm d}y $$ where \(\lambda\) is the intensity function of the point process. For a Poisson point process with intensity function \(\lambda\), this probability is \(p(r) = \lambda(x) \lambda(y)\) so \(g_{\rm inhom}(r) = 1\).
The inhomogeneous pair correlation function 
  is related to the inhomogeneous \(K\) function through
  $$
    g_{\rm inhom}(r) = \frac{K'_{\rm inhom}(r)}{2\pi r}
  $$
  where \(K'_{\rm inhom}(r)\)
  is the derivative of \(K_{\rm inhom}(r)\), the
  inhomogeneous \(K\) function. See Kinhom for information
  about \(K_{\rm inhom}(r)\).
The command pcfinhom estimates the inhomogeneous
  pair correlation using a modified version of
  the algorithm in pcf.ppp.
If renormalise=TRUE (the default), then the estimates 
  are multiplied by \(c^{\mbox{normpower}}\) where 
  \(
    c = \mbox{area}(W)/\sum (1/\lambda(x_i)).
  \)
  This rescaling reduces the variability and bias of the estimate
  in small samples and in cases of very strong inhomogeneity.
  The default value of normpower is 1
  but the most sensible value is 2, which would correspond to rescaling
  the lambda values so that
  \(
    \sum (1/\lambda(x_i)) = \mbox{area}(W).
  \)
# NOT RUN {
  data(residualspaper)
  X <- residualspaper$Fig4b
  plot(pcfinhom(X, stoyan=0.2, sigma=0.1))
  fit <- ppm(X, ~polynom(x,y,2))
  plot(pcfinhom(X, lambda=fit, normpower=2))
# }
Run the code above in your browser using DataLab