For a multitype point pattern, estimate the inhomogeneous version of the cross \(G\) function, which is the distribution of the distance from a point of type \(i\) to the nearest point of type \(j\), adjusted for spatially varying intensity.
Gcross.inhom(X, i, j,
              lambda = NULL, lambdaI = NULL, lambdaJ = NULL,
              lambdamin = NULL,
              ...,
              r = NULL,
              ReferenceMeasureMarkSetI = NULL,
              ratio = FALSE)An object of class "fv" (see fv.object)
  containing estimates of the inhomogeneous cross type \(G\) function.
The observed point pattern, from which an estimate of the inhomogeneous cross type \(G\) function \(G_{ij}(r)\) will be computed. It must be a multitype point pattern (a marked point pattern whose marks are a factor). See under Details.
The type (mark value)
    of the points in X from which distances are measured.
    A character string (or something that will be converted to a
    character string).
    Defaults to the first level of marks(X).
The type (mark value)
    of the points in X to which distances are measured.
    A character string (or something that will be converted to a
    character string).
    Defaults to the second level of marks(X).
Optional.
    Values of the estimated intensity of the point process.
    Either a pixel image (object of class "im"),
    a numeric vector containing the intensity values
    at each of the points in X,
    a fitted point process model
    (object of class "ppm" or "kppm" or "dppm"),
    or a function(x,y) which
    can be evaluated to give the intensity value at any location.
Optional.
    Values of the estimated intensity of the sub-process of
    points of type i.
    Either a pixel image (object of class "im"),
    a numeric vector containing the intensity values
    at each of the type i points in X,
    a fitted point process model
    (object of class "ppm" or "kppm" or "dppm"),
    or a function(x,y) which
    can be evaluated to give the intensity value at any location.
Optional.
    Values of the the estimated intensity of the sub-process of
    points of type j.
    Either a pixel image (object of class "im"),
    a numeric vector containing the intensity values
    at each of the type j points in X,
    a fitted point process model
    (object of class "ppm" or "kppm" or "dppm"),
    or a function(x,y) which
    can be evaluated to give the intensity value at any location.
Optional. The minimum possible value of the intensity over the spatial domain. A positive numerical value.
Extra arguments passed to as.mask to control
    the pixel resolution for the computation.
vector of values for the argument \(r\) at which the inhomogeneous \(G\) function should be evaluated. Not normally given by the user; there is a sensible default.
Optional. The total measure of the mark set. A positive number.
Logical value indicating whether to save ratio information.
The argument i is interpreted as
  a level of the factor X$marks. It is converted to a character
  string if it is not already a character string.
  The value i=1 does not
  refer to the first level of the factor.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au.
This is a generalisation of the function Gcross
  to include an adjustment for spatially inhomogeneous intensity,
  in a manner similar to the function Ginhom.
The argument lambdaI supplies the values
  of the intensity of the sub-process of points of type i.
  It may be either
(object of class "im") which
      gives the values of the type i intensity
      at all locations in the window containing X;
containing the values of the
      type i intensity evaluated only
      at the data points of type i. The length of this vector
      must equal the number of type i points in X.
of the form function(x,y)
      which can be evaluated to give values of the intensity at
      any locations.
(object of class "ppm", "kppm" or "dppm")
      whose fitted trend can be used as the fitted intensity.
      (If update=TRUE the model will first be refitted to the
      data X before the trend is computed.)
if lambdaI is omitted then it will be estimated
      using a leave-one-out kernel smoother.
If lambdaI is omitted, then it will be estimated using
  a `leave-one-out' kernel smoother.
Similarly the argument lambdaJ should contain
  estimated values of the intensity of the points of type \(j\).
  It may be either a pixel image, a numeric vector of length equal
  to the number of points in X, a function, or omitted.
The argument r is the vector of values for the
  distance \(r\) at which \(G_{ij}(r)\) should be evaluated. 
  The values of \(r\) must be increasing nonnegative numbers
  and the maximum \(r\) value must not exceed the radius of the
  largest disc contained in the window.
Cronie, O. and Van Lieshout, M.N.M. (2015) Summary statistics for inhomogeneous marked point processes. Annals of the Institute of Statistical Mathematics DOI: 10.1007/s10463-015-0515-z
Gcross,
 Ginhom,
 Gcross.inhom,
 Gmulti.inhom.
  X <- rescale(amacrine)
  if(interactive() && require(spatstat.model)) {
    ## how to do it normally
    mod <- ppm(X ~ marks * x)
    lam <- fitted(mod, dataonly=TRUE)
    lmin <- min(predict(mod)[["off"]]) * 0.9
  } else {
    ## for package testing 
    lam <- intensity(X)[as.integer(marks(X))]
    lmin <- intensity(X)[2] * 0.9
  }
  GC <- Gcross.inhom(X, "on", "off", lambda=lam, lambdamin=lmin)
Run the code above in your browser using DataLab