
As always, we load all needed packages.
library(spatstat)
library(tidyverse)
Task: Perform a point-pattern analysis on the Hemlock_Adults_vs_SmallSaps data set using ‘CSR’ as null model. We are now especially interested in pattern 2, the small saplings. Using a cell size of 1 meter, calculate the O22(r). Up to which scale do we find significant clustering of the saplings?
We import the data first and convert it as ppp. Also, we
reclassify the marks as 1 == ‘adults’ and 2 == ‘saplings’.
hemlock <- read_delim(file = "Data/Hemlock_Adults_vs_SmallSaps.txt",
delim = ";")
hemlock <- mutate(hemlock,
mark = case_when(mark == 1 ~ "adults",
mark == 2 ~ "saplings"),
mark = as.factor(mark))
plot_area <- ripras(x = hemlock$x, y = hemlock$y, shape = "rectangle")
hemlock_ppp <- as.ppp(X = hemlock, W = plot_area)
summary(hemlock_ppp)
## Marked planar point pattern: 427 points
## Average intensity 0.06190762 points per square unit
##
## Coordinates are given to 2 decimal places
## i.e. rounded to the nearest multiple of 0.01 units
##
## Multitype:
## frequency proportion intensity
## adults 234 0.5480094 0.03392596
## saplings 193 0.4519906 0.02798167
##
## Window: rectangle = [1.22493, 80.43507] x [-1.64345, 85.43345] units
## (79.21 x 87.08 units)
## Window area = 6897.37 square units

Then, we implement the O-ring statistic.
Oest.calc <- function(input, r = NULL,
correction = "Ripley", divisor = "d", ...){
p_fct <- pcf(input, r = r,
correction = correction,
divisor = divisor, ...)
lambda <- intensity(unmark(input))
eval.fv(p_fct*lambda)
}
We are just interested in the saplings, therefore we subset them first. Then we calculate the O-ring statistic with simulation envelopes and ‘CSR’ as null model.
saplings <- subset.ppp(hemlock_ppp, marks == "saplings", drop = TRUE)
o_ring_saplings <- envelope(saplings, fun = Oest.calc,
r = seq(from = 0, to = 45, by = 0.5),
nsim = 199, nrank = 5)

Task: Use the pair-correlation function to fit a cluster process to the data and use the fitted model to simulate null model data
We use the function kkpm() to fit a cluster point
process model. We need to provide the point pattern (X,
here we need to remove all marks with unmark() because
subset.ppp() only drops all unused levels, but does not
remove all marks). We specify the cluster type we want to fit
(cluster) and which summary function to use
(pcf). Then, we simulate patterns using the fitted process
with simulate.kppm(). We need to provide the model
(object) and the number of simulations (nsim).
The result is a list of simulated patterns.
thomas_process <- kppm(X = unmark(saplings), clusters = "Thomas",
statistic = "pcf")
simulated_pattern <- simulate.kppm(object = thomas_process, nsim = 199)
Now, we can compute the envelopes of the null model and compare it to the observed data.
o22_saplings_thomas <- envelope(saplings, fun = Oest.calc,
r = seq(from = 0, to = 45, by = 0.5),
nsim = 199, nrank = 5,
simulate = simulated_pattern)

Task: If the \(O_{11}(r)\) function falls into the new envelope, you fitted good parameters for the cluster process. Have a look at the fitted parameters. Here, the typical cluster size and number of parents are of interest.
kappa is the intensity of cluster centers. In order to
get the ‘number of parents’, we need to multiply the number with the
area of the observation window (remember: the intensity is the number
per unit area). Luckily, spatstat contains a function
(area()) to calculate the area. The scale
parameter gives the standard deviation of random displacement of a point
from its cluster center. To calculate the area of a cluster, we need to
calculate the area of the according ‘circle’. The
Mean cluster size gives exactly what it says.
print(thomas_process)
## Stationary cluster point process model
## Fitted to point pattern dataset 'unmark(saplings)'
## Fitted by minimum contrast
## Summary statistic: pair correlation function
##
## Uniform intensity: 0.02798167
##
## Cluster model: Thomas process
## Fitted cluster parameters:
## kappa scale
## 0.0007918742 2.8849051166
## Mean cluster size: 35.336 points
##
## Cluster strength: phi = 12.07
## Sibling probability: psib = 0.9235
## [1] "Number of parents: 5.46"
## [1] "Cluster area: 26.15"
Task: The data set Alive_DouglasFir_OGN contains the location and stem diameters (diameter at breast height, DBH) for all live Douglas fir trees in the Old-growth North plot. Calculate the mark-correlation function for the DBH. What do these results suggest?
First, we need to import the data, convert them as ppp
object and have a look at the data. This time, the marks are continuous,
i.e. the diameter at breast height in cm of each tree. Therefore, the
summary() function automatically gives the mean, median and
quantiles of the data. Also, the plot automatically scales the point
according to their size.
douglas_fir <- read_delim(file = "Data/Alive_DouglasFir_OGN.txt",
delim = ";")
plot_area <- ripras(x = douglas_fir$x, y = douglas_fir$y,
shape = "rectangle")
douglas_fir_ppp <- as.ppp(X = douglas_fir, W = plot_area)
summary(douglas_fir_ppp)
## Marked planar point pattern: 335 points
## Average intensity 0.03662751 points per square unit
##
## Coordinates are given to 2 decimal places
## i.e. rounded to the nearest multiple of 0.01 units
##
## marks are numeric, of type 'double'
## Summary:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.90 35.60 48.80 46.05 57.90 99.00
##
## Window: rectangle = [-0.28027, 103.97027] x [0.04889, 87.78111] units
## (104.3 x 87.73 units)
## Window area = 9146.13 square units

The mark-correlation function can be calculated with
markcorr(). This is very straightforward.
mark_corrlation_douglas_fir <- markcorr(X = douglas_fir_ppp,
r = seq(from = 0, to = 45,
by = 0.5),
correction = "Ripley")

Task: Calculate simulation envelopes to test for significance. As a null model use random labelling. What could be a possible ecological explanation of your results?
We use envelope() to calculate the simulation envelopes.
As null model, we use random labeling, shuffling only the marks but not
the points (simulate argument using
rlabel()).
envelopes_mark_correlation_alive <- envelope(Y = douglas_fir_ppp,
fun = markcorr,
r = seq(from = 0, to = 45,
by = 0.5),
nsim = 199, nrank = 5,
simulate = expression(rlabel(douglas_fir_ppp)))

Task: In the data set Hemlock_Adults_vs_SmallSaps, you can observe a clear gradient in the density of adult trees. Calculate O11(r) and L11(r) for pattern 1 (adult trees) to see up to which scale clustering of the trees can be observed using ‘CSR’ as null model.
We import the data, classify it and convert it as ppp
object. We plot the point pattern of only adult trees and have a look at
the summary.
hemlock <- read_delim(file = "Data/Hemlock_Adults_vs_SmallSaps.txt",
delim = ";")
hemlock <- mutate(hemlock,
mark = case_when(mark == 1 ~ "adults",
mark == 2 ~ "saplings"),
mark = as.factor(mark))
plot_area <- ripras(x = hemlock$x, y = hemlock$y,
shape = "rectangle")
hemlock_ppp <- as.ppp(X = hemlock, W = plot_area)
summary(hemlock_ppp)
## Marked planar point pattern: 427 points
## Average intensity 0.06190762 points per square unit
##
## Coordinates are given to 2 decimal places
## i.e. rounded to the nearest multiple of 0.01 units
##
## Multitype:
## frequency proportion intensity
## adults 234 0.5480094 0.03392596
## saplings 193 0.4519906 0.02798167
##
## Window: rectangle = [1.22493, 80.43507] x [-1.64345, 85.43345] units
## (79.21 x 87.08 units)
## Window area = 6897.37 square units

Also, we need the implemented the O-ring statistic as before.
We calculate the O-ring statistic for the adult trees only, using
envelope() and the null model of ‘CSR’.
adults <- subset.ppp(hemlock_ppp, marks == "adults", drop = TRUE)
envelopes_adults_homo <- envelope(Y = adults, fun = Oest.calc,
r = seq(from = 0, to = 45, by = 0.5),
nsim = 199, rank = 5)
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored

Task: Getzin et al. (2008) show that the study area is heterogenous. We are going to account for this heterogeneity by fitting a heterogeneous Poisson processes. Estimate \(\lambda(x,y)\) and plot a map of the results. The gradient should be well visible.
Firstly, we need to get the intensity \(\lambda(xy)\) at every point of the
observation window. The result is a im (pixel image)
object.
lambda_xy <- density(x = adults)
class(lambda_xy)
## [1] "im"

Task: Use the previously estimated intensity \(\lambda(x,y)\) to simulate a heterogenous Poisson process. Does \(O_{11}(r)\) now fit into the simulation envelope? How do you interpret the result?
Now, we can simulate heterogeneous point patterns following the
intensity of the pattern. Therefore, we use rpoispp() and
specify the argument lambda with the created
im object. Also, we specify the number of simulated
patterns (nsim). The result is a list with heterogeneous
point patterns. If you plot one realization of the simulated data, you
can see how the random points ‘follow’ the intensity.
simulated_heterogenous_pattern <- rpoispp(lambda = lambda_xy, nsim = 199)

Now, we can use the simulated point patterns as input for
envelope() to create simulation envelopes with the null
model of a heterogeneous Poisson process.
envelopes_adults_hetero <- envelope(Y = adults, fun = Oest.calc,
r = seq(from = 0, to = 45,
by = 0.5),
nsim = 199, rank = 5,
simulate = simulated_heterogenous_pattern)
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored

There is a wrapper around these function in onpoint
(Hesselbarth 2025) to simulate a heterogeneous Poisson process as null
model (see ?simulate_heterogenous_pattern).
Instead of using lambda to simulate a heterogeneous
Poisson process, spatstat can also can calculate the
inhomogenous pair-correlation function. This functions uses a kernel
methods during the computation of \(g_{inhom}(r)\) whick takes the
heterogeneity of the point pattern into account. Thus, we can use CSR as
null model.
envelopes_adults_inhomo <- envelope(Y = adults, fun = pcfinhom,
divisor = "d",
correction = "Ripley",
r = seq(from = 0, to = 45, by = 0.5),
nsim = 199, rank = 5)
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored
## Warning: In densityBC(): unrecognised argument 'rank' was ignored

Task: Can the small-scale regularity in the living Douglas fir trees be modeled by a hard-core process? What about a soft-core process?
First, we need to import the data and convert it to a
ppp object.
douglas_fir <- read_delim(file = "Data/DouglasFir_LiveDead_OGN.txt",
delim = ";")
douglas_fir <- mutate(douglas_fir,
mark = case_when(mark == 1 ~ "alive",
mark == 2 ~ "dead"),
mark = as.factor(mark))
plot_area <- ripras(x = douglas_fir$x, y = douglas_fir$y,
shape = "rectangle")
douglas_fir_ppp <- as.ppp(X = douglas_fir, W = plot_area)
We can use rStrauss() to simulate hardcore- and softcore
processes. Firstly, we subset the data using only living trees. Then, we
simulate the hardcore process. We want the same intensity as the
observed data (beta). R is the interaction
distance between the points and gamma is the probability of
two points being separated by distances < R. Therefore,
setting this argument to 0 leads to a hardcore process. Lastly, we need
to specify the number of (nsim) and the observation window
(W, same as observed data) of the simulated patterns.
alive <- subset.ppp(douglas_fir_ppp, marks == "alive", drop = T)
simulated_patterns_hardcore <- rStrauss(beta = intensity(alive),
R = 1, gamma = 0,
nsim = 199, W = alive$window)
The result is a list of simulated point patterns, that can be used as
the simulate argument of the envelope()
function. Now, the function calculates the summary function for each
pattern in the list and computes the envelopes based on the results.
envelope_hardcore <- envelope(Y = alive, fun = Oest.calc,
r = seq(from = 0, to = 45, by = 0.5),
nsim = 199, nrank = 5,
simulate = simulated_patterns_hardcore)
The softcore process is very similar, with the only difference that
the probability gamma of two points being separated by
distance R is increased.
simulated_patterns_softcore <- rStrauss(beta = intensity(alive),
R = 1, gamma = 0.3,
nsim = 199, W = alive$window)
envelope_softcore <- envelope(alive, fun = Oest.calc,
r = seq(from = 0, to = 45, by = 0.5),
nsim = 199, nrank = 5,
simulate = simulated_patterns_softcore)


References:
Baddeley, A., Rubak, E., Turner, R., 2015. Spatial point patterns: Methodology and applications with R. Chapman and Hall/CRC Press, London.
Getzin, S., Dean, C., He, F., Trofymow, J.A., Wiegand, K., Wiegand, T., 2006. Spatial patterns and competition of tree species in a Douglas fir chronosequence on Vancouver Island. Ecography, 29, 671-682.
Getzin, S., Wiegand, T., Wiegand, K., He, F., 2008. Heterogeneity influences spatial patterns and demographics in forest stands. J. Ecol. 96, 807-820.
Hesselbarth, M.H.K. (2025). onpoint: Helper Functions for Point Pattern Analysis. R package version 1.1, https://CRAN.R-project.org/package=onpoint.