https://github.com/cran/spatstat
Revision 915786b60d089debd144a92c457952ebe8503995 authored by Adrian Baddeley on 14 May 2010, 00:00:00 UTC, committed by Gabor Csardi on 14 May 2010, 00:00:00 UTC
1 parent e1a5e08
Tip revision: 915786b60d089debd144a92c457952ebe8503995 authored by Adrian Baddeley on 14 May 2010, 00:00:00 UTC
version 1.19-0
version 1.19-0
Tip revision: 915786b
quadratresample.R
#
# quadratresample.R
#
# resample a point pattern by resampling quadrats
#
# $Revision: 1.3 $ $Date: 2008/09/26 19:51:53 $
#
quadratresample <- function(X, nx, ny=nx, ..., replace=FALSE, nsamples=1) {
stopifnot(is.ppp(X))
if(X$window$type != "rectangle")
stop("Resampling is only implemented for rectangular windows")
# create tessellation
A <- quadrats(X, nx=nx, ny=ny)
# split data over tessellation
B <- split(X, A)
nq <- length(B)
# determine bottom left corner of each tile
V <- lapply(B, function(z) { w <- z$window;
c(w$xrange[1], w$yrange[1]) })
out <- list()
for(i in 1:nsamples) {
# resample tiles
ind <- sample(1:nq, nq, replace=replace)
Xresampled <- X
Bresampled <- B
for(j in 1:nq) {
k <- ind[j]
Bresampled[[j]] <- shift(B[[k]], unlist(V[[j]]) - unlist(V[[k]]))
}
split(Xresampled, A) <- Bresampled
out[[i]] <- Xresampled
}
if(nsamples == 1)
return(out[[1]])
return(as.listof(out))
}
Computing file changes ...