Pairwise | R Documentation |
Creates an instance of a pairwise interaction point process model which can then be fitted to point pattern data.
Pairwise(pot, name, par, parnames, printfun)
pot |
An R language function giving the user-supplied pairwise interaction potential. |
name |
Character string. |
par |
List of numerical values for irregular parameters |
parnames |
Vector of names of irregular parameters |
printfun |
Do not specify this argument: for internal use only. |
This code constructs a member of the
pairwise interaction family pairwise.family
with arbitrary pairwise interaction potential given by
the user.
Each pair of points in the point pattern contributes a factor h(d) to the probability density, where d is the distance between the two points. The factor term h(d) is
h(d) = exp(-theta * pot(d))
provided pot(d) is finite, where theta is the coefficient vector in the model.
The function pot
must take as its first argument
a matrix of interpoint distances, and evaluate the
potential for each of these distances. The result must be
either a matrix with the same dimensions as its input,
or an array with its first two dimensions the same as its input
(the latter case corresponds to a vector-valued potential).
If irregular parameters are present, then the second argument
to pot
should be a vector of the same type as par
giving those parameter values.
The values returned by pot
may be finite numeric values,
or -Inf
indicating a hard core (that is, the corresponding
interpoint distance is forbidden). We define
h(d) = 0 if pot(d) = -Inf.
Thus, a potential value of minus infinity is always interpreted
as corresponding to h(d) = 0, regardless of the sign
and magnitude of theta.
An object of class "interact"
describing the interpoint interaction
structure of a point process.
and \rolf
ppm
,
pairwise.family
,
ppm.object
#This is the same as StraussHard(r=0.7,h=0.05) strpot <- function(d,par) { r <- par$r h <- par$h value <- (d <= r) value[d < h] <- -Inf value } mySH <- Pairwise(strpot, "StraussHard process", list(r=0.7,h=0.05), c("interaction distance r", "hard core distance h")) data(cells) ppm(cells, ~ 1, mySH, correction="isotropic") # Fiksel (1984) double exponential interaction # see Stoyan, Kendall, Mecke 1987 p 161 fikspot <- function(d, par) { r <- par$r h <- par$h zeta <- par$zeta value <- exp(-zeta * d) value[d < h] <- -Inf value[d > r] <- 0 value } Fiksel <- Pairwise(fikspot, "Fiksel double exponential process", list(r=3.5, h=1, zeta=1), c("interaction distance r", "hard core distance h", "exponential coefficient zeta")) data(spruces) fit <- ppm(unmark(spruces), ~1, Fiksel, rbord=3.5) fit plot(fitin(fit), xlim=c(0,4)) coef(fit) # corresponding values obtained by Fiksel (1984) were -1.9 and -6.0
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.