Kcross               package:spatstat               R Documentation

_M_u_l_t_i_t_y_p_e _K _F_u_n_c_t_i_o_n (_C_r_o_s_s-_t_y_p_e)

_D_e_s_c_r_i_p_t_i_o_n:

     For a multitype point pattern,  estimate the multitype K function
     which counts the expected number of points of type j within a
     given distance of a point of type i.

_U_s_a_g_e:

     Kcross(X, i=1, j=2)
     Kcross(X, i=1, j=2, r)
     Kcross(X, i=1, j=2, breaks)

_A_r_g_u_m_e_n_t_s:

       X: The observed point pattern,  from which an estimate of the
          cross type K function Kij(r) will be computed. It must be a
          multitype point pattern (a marked point pattern whose marks
          are a factor). See under Details. 

       i: Number or character string identifying the type (mark value)
          of the points in `X' from which distances are measured. 

       j: Number or character string identifying the type (mark value)
          of the points in `X' to which distances are measured. 

       r: numeric vector. The values of the argument r at which the
          distribution function Kij(r) should be evaluated. There is a
          sensible default. First-time users are strongly advised not
          to specify this argument. See below for important conditions
          on r. 

  breaks: An alternative to the argument `r'. Not normally invoked by
          the user. See the Details section. 

_D_e_t_a_i_l_s:

     This function `Kcross' and its companions `Kdot' and `Kmulti' are
     generalisations of the function `Kest' to multitype point
     patterns. 

     A multitype point pattern is a spatial pattern of points
     classified into a finite number of possible ``colours'' or
     ``types''. In the `spatstat' package, a multitype pattern is
     represented as a single  point pattern object in which the points
     carry marks, and the mark value attached to each point determines
     the type of that point.

     The argument `X' must be a point pattern (object of class `"ppp"')
     or any data that are acceptable to `as.ppp'. It must be a marked
     point pattern, and the mark vector `X$marks' must be a factor. The
     arguments `i' and `j' will be interpreted as levels of the factor
     `X$marks'. (Warning: this means that an integer value `i=3' will
     be interpreted as the 3rd smallest level, not the number 3). 

     The ``cross-type'' (type i to type j) K function  of a stationary
     multitype point process X is defined so that lambda[j] Kij(r)
     equals the expected number of additional random points of type j
     within a distance r of a typical point of type i in the process X.
     Here lambda[j] is the intensity of the type j points, i.e. the
     expected number of points of type j per unit area. The function
     Kij is determined by the  second order moment properties of X.

     An estimate of Kij(r) is a useful summary statistic in exploratory
     data analysis of a multitype point pattern. If the process of type
     i points were independent of the process of type j points, then
     Kij(r) would equal pi * r^2. Deviations between the empirical Kij
     curve and the theoretical curve pi * r^2  may suggest dependence
     between the points of types i and j.

     This algorithm estimates the distribution function Kij(r)  from
     the point pattern `X'. It assumes that `X' can be treated as a
     realisation of a stationary (spatially homogeneous)  random
     spatial point process in the plane, observed through a bounded
     window. The window (which is specified in `X' as `X$window') may
     have arbitrary shape. Biases due to edge effects are treated in
     the same manner as in `Kest', using the border correction.

     The argument `r' is the vector of values for the distance r at
     which Kij(r) should be evaluated.  The values of r must be
     increasing nonnegative numbers and the maximum r value must exceed
     the radius of the largest disc contained in the window.

     The pair correlation function can also be applied to the result of
     `Kcross'; see `pcf'.

_V_a_l_u_e:

     A data frame containing 3 numeric columns  

       r: the values of the argument r  at which the function Kij(r)
          has been  estimated 

  border: the ``border correction'' estimator of Kij(r) 

    theo: the theoretical value of  Kij(r) for a marked Poisson
          process, namely pi * r^2 

_W_a_r_n_i_n_g_s:

     The arguments `i' and `j' are interpreted as levels of the factor
     `X$marks'. Beware of the usual trap with factors: numerical values
     are not interpreted in the same way as character values. See the
     first example.

     The reduced sample estimator of Kij is pointwise approximately 
     unbiased, but need not be a valid distribution function; it may 
     not be a nondecreasing function of r. Its range is always  within
     [0,1].

_A_u_t_h_o_r(_s):

     Adrian Baddeley adrian@maths.uwa.edu.au <URL:
     http://www.maths.uwa.edu.au/~adrian/> and Rolf Turner
     rolf@math.unb.ca <URL: http://www.math.unb.ca/~rolf>

_R_e_f_e_r_e_n_c_e_s:

     Cressie, N.A.C. Statistics for spatial data. John Wiley and Sons,
     1991.

     Diggle, P.J. Statistical analysis of spatial point patterns.
     Academic Press, 1983.

     Harkness, R.D and Isham, V. (1983) A bivariate spatial point
     pattern of ants' nests. Applied Statistics 32, 293-303

     Lotwick, H. W. and Silverman, B. W. (1982). Methods for analysing
     spatial processes of several types of points. J. Royal Statist.
     Soc. Ser. B 44, 406-413.

     Ripley, B.D. Statistical inference for spatial processes.
     Cambridge University Press, 1988.

     Stoyan, D, Kendall, W.S. and Mecke, J. Stochastic geometry and its
     applications. 2nd edition. Springer Verlag, 1995.

_S_e_e _A_l_s_o:

     `Kdot', `Kest', `Kmulti', `pcf'

_E_x_a_m_p_l_e_s:

         library(spatstat)
         data(catWaessle)
          # cat retina data: types 0,1 represent off/on
         K01 <- Kcross(catWaessle, "0", "1") # note: "0" not 0
         plot(K01$r, K01$border,
                       xlab="r", ylab="K01(r)",
                       type="l", ylim=c(0,1))
         K10 <- Kcross(catWaessle, "1", "0")
         # Poisson theoretical curve
         lines(K01$r, K01$theo, lty=2)

         # synthetic example    
         pp <- runifpoispp(50)
         pp$marks <- sample(c("a","b"), pp$n, replace=TRUE)
         K <- Kcross(pp, "a", "b")

