Предположим, что в spatstat есть два точечных шаблона. Я понимаю, что мы можем наложить эти два точечных шаблона, чтобы получить одноточечный узор. Теперь, если у этих паттернов есть общие координаты, но с разными отметками, то при наложении точки будут дублироваться. Есть ли способ в spatstat получить уникальный набор точек при создании общей метки для совпадающих координат?
Мне не известно о встроенном решении для этого, поэтому вам придется немного поработать вручную, как описано ниже.
Загрузите пакет и сделайте пример данных с перекрывающимися точками:
library(spatstat)
X1 <- cells[1:22]
marks(X1) <- factor("a")
X2 <- cells[20:42]
marks(X2) <- factor("b")
plot(superimpose(X1, X2), main = "")
Для каждой точки X1
найдите ближайшую точку в X2
:
nn <- nncross(X1, X2)
tail(nn)
#> dist which
#> 17 0.1386110 4
#> 18 0.1802776 5
#> 19 0.1069766 5
#> 20 0.0000000 1
#> 21 0.0000000 2
#> 22 0.0000000 3
id1 <- which(nn$dist==0) ## Tests EXACT equality. Consider small tolerance.
id2 <- nn$which[id1]
Добавьте дополнительный уровень отметки X1
и назначьте его точкам с дубликатами в X2
:
levels(marks(X1)) <- c("a", "c")
marks(X1)[20:22] <- factor("c")
X <- superimpose(X1, X2[-id2])
plot(X, main = "")
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения