# How to interpret lines crossing on Ripley's K plot

The image above (which I took from another post) illustrates one of the typical patterns in a K plot. It shows a Ripley's K plot showing the actual below the expected up until a radius of about .17, then alongside, finally dipping back below at about 0.22. Can anything be said about plot with this general pattern and specifically about the point where the two lines first cross? For context imagine people in a social situation (party or whatever). People are a certain distance apart on the whole, nobody stands right next to a stranger (as in touching), however the rest of the distribution is probably quite even, perhaps clustered into conversation groups. Could you use this crossing point in the plot to say this is the minimum distance people will stand away from each other (so in this case 0.17 units of radius).

• If you've found the answer by Ege Rubak helpful, please don't to forget to upvote and accept it - it seems a lot of effort went into it. – Martin Modrák May 29 '19 at 12:44

I don’t think this point has a particular interpretation. The K-function is cummulative and given that you are at a point of the process, it estimates how many points you expect to see within the distance r given on the horizontal axis.

For many purposes it is more natural to interpret the slope of the K-function. When it is more “flat” than the Poisson curve fewer neighbors are occurring around this specific distance than expected by “pure randomness” and conversely when it is more steep.

The slope is much harder to estimate reliably, which explains the wide usage of the K-function. The slope is typically measured through the pair correlation function (pcf).

Your example is based on the spatstat dataset cells. The points exhibit very strong inhibition and produce a very regular point pattern compared to Poisson. The regularity means that there is a specific distance where it changes from no pairs of points to suddenly very many pairs of points.

library(spatstat)
plot(cells, main = "")


K <- Kest(cells, correction = "iso")
g <- pcf(cells, correction = "iso")
plot(anylist(g, K), main = "", main.panel = "", nrows = 2)