Hi R users,

This query is regarding the use of the 'envelope' function in Spatstat.

My data can be represented as a point process with CONTINUOUS marks:

points <- ppp(x=x,y=y, marks=m, window= wind)

However the marks are alignments (lines), and so have to be treated differently to normal scalar marks. Hence to create a mcf object with the appropriate test function for alignment marks, I input 'func' (below) suggested by Stoyan & Penttinen (1989):

func <- function(m1,m2) { sin(abs(m1-m2))^2}                 
mcf <- markcorr(points, func, normalise = TRUE, method="density")          

So far, so good. However, usinf 'envelope' and 'rlabel' I would like to check if the pattern in the data is lost when randomly relabeling the mark for each point. If the test function, 'func' were the usual G(m1,m2)=m1*m2, then the following would work:

E <- envelope(points, markcorr, nsim=20, simulate=expression(rlabel(points)))

Howeve, in the above 'markcorr' calculates G(m1,m2)=m1*m2 by default. So need to specify the test function to be G(m1,m2)= sin(abs(m1-m2))^2.

According to the spatstat manual (p177), I may need to 'cook up' a specific function, like this:

Kdif = function(X, ..., i) {
 Kidot = Kdot(X, ..., i = i)
 K = Kest(X, ...)
 dif = eval.fv(Kidot - K)
 return(dif)
}
E = envelope(lansing, Kdif, i='blackoak', simulate=expression(rlabel(lansing)))


So how do I tell 'envelope' that I want to specify the mark correlation test function ??


Many thanks in advance!
T






-----------------------------------------------
Dept. of Maths and Stats, UWE and Ant Lab, Bristol

Room B79.
SoBS, Woodland Rd. BS8 1UG.
+44 (0)117 928 8443

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to