Вам необходимо сохранить выходные данные в объекте, в этом случае давайте поместим его в список с именем dirList
.Кроме того, вы должны указать последовательность для повторения.for (i in 100)
ничего не делает, это должно быть for (i in 1:100)
library(deldir)
library(spatstat)
x <- matrix(runif(100 * 1000), nrow = 100, ncol = 1000)
y <- matrix(runif(100 * 1000), nrow = 100, ncol = 1000)
dirList <- list()
for (i in 1:1000){
dirList[[i]] <- ppp(x = x[ , i], y = y[ , i], window = square(c(0, 1)))
}
Затем, чтобы построить график, вы получаете доступ к объекту с помощью [[]]
tess = dirichlet(dirList[[1]])
plot(tess, main = "")
Ко второй части вашего вопроса, используя ваш объект tess
для одного набора баллов:
Кредит @ DJack для общего процесса
library(deldir)
library(spatstat)
library(maptools)
library(rgeos)
x <- matrix(runif(100 * 1000), nrow = 100, ncol = 1000)
y <- matrix(runif(100 * 1000), nrow = 100, ncol = 1000)
x <- x[ , 1]
y <- y[ , 1]
dir = ppp(x=x, y=y, window = square(c(0,1)))
tess = dirichlet(dir)
t1 <- as(tess, "SpatialPolygons")
t2 <- unionSpatialPolygons(t1, ID=rep(1,length(t1)))
vor_border <- which(gRelate(t1,t2, byid=TRUE) %in% c("2FF11F212"))
par(mfcol=c(1,3))
plot(t1)
plot(t1[vor_border,], col="red")
# you could also invert the mask to get just the inner polygons
plot(t1[-vor_border,], col="lightblue")
