简而言之,我将对100个点进行Voronoi细分,并创建1000次不同的100个点的集合,并对每个点集进行细分。
我创建了点,
x=matrix(runif(100*1000),nrow=100,ncol=1000)
y=matrix(runif(100*1000),nrow=100,ncol=1000)
使用spatstat
软件包执行Voronoi镶嵌的基本代码是
dir = ppp(x=x, y=y, window = square(c(0,1)))
tess = dirichlet(dir)
plot(tess, main = "")
points(dir, pch=19, cex = 0.5)
但是,我需要对1000个样本进行Voronoi细分,并尝试创建一个循环。我想选择x和y的每一列并以1000'dir'结尾。然后对“ 1000个dir”进行细分“ tess”。我还需要使用函数area=tile.areas(tess)
我创建的循环是
for (i in 1000) {
dir[i] = ppp(x=x[,i], y=y[,i], window = square(c(0,1)))
}
但是我得到的只是错误和警告。你知道怎么做吗?
答案 0 :(得分:0)
您需要将输出存储在一个对象中,在这种情况下,我们将其放在一个名为setFiltersFromParams(params){
if ('pms' in params){
this.filterFormGroup.controls.pms.setValue(params.pms.split(","));
console.log("Setting the following pms:",params.pms.split(",") )
}
if ('region' in params){
this.filterFormGroup.controls['region'].setValue(params.region,{emitEvent: true});
console.log("Setting the following region:",params.region )
}
}
的列表中。另外,您必须指定要迭代的序列。 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 = "")
用于一组点:
贷记到 @DJack 进行常规程序
tess