Não tenho experiência com a {spatstat}, mas tentei trabalhar seu código e
acredito que possa lhe ser útil.
### <BEGIN>
require(raster); require(spatstat);
require(sp)
## Raster
-----------------------------------------------------------
set.seed(20130622)
r <- raster(nc=100,
nr=100)
r <- setValues(r,
round(runif(ncell(r))* 255))
plot(r)
r.spdf <-
data.frame(coordinates(r), px=getValues(r)); names(r.spdf)
gridded(r.spdf) <-
~x+y
spplot(r.spdf)
## Amostras
-------------------------------------------------
parc.p <- spsample(r.spdf, 15,
type="random")
parc.c <-
vector("list",length(parc.p))
for(i in 1:length(parc.p))
{
parc.c[[i]] <- disc(radius=5, centre=c(parc.p$x[i],
parc.p$y[i]))}
W <-
do.call(union.owin,parc.c)
W.df <- as.data.frame(as.im(W))
W.sp <- W.df; coordinates(W.sp)
<- ~x+y
plot(W.sp)
W.df$px <- over(W.sp,
r.spdf)
head(W.df)
# x y value
px
#1 -179.9856 -39.83543 1 11
#2 -179.9856 -39.29907 1 76
#3 -179.9856 -38.76271 1 76
#4 -179.9856 -38.22635 1 76
#5 -179.9856 -37.68998 1 34
#6 -178.7263 -41.98087 1 157
#