Две проблемы с гибридным взаимодействием mppm и Geyer-Hardcore - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь приспособить гибридную модель взаимодействия к набору точечных паттернов, которые я хочу обработать и проверить дальше, но я столкнулся с двумя различными (?) Проблемами:

Сначала я попытался пусть mppm выберет для меня расстояние отсечения Hardcore:

data("demohyper")
res1 <- mppm(Points ~ 1, interaction = Hybrid(Geyer(r=.1, sat=3), Hardcore(NA)), data=demohyper)

... но я получил следующую ошибку:

Error in crosspaircounts(U, X, r) : 
  is.numeric(r) && length(r) == 1 is not TRUE

Вместо этого я определил расстояние Hardcore вручную и установил модель на гиперфрейме:

# find minimum hardcore distance in data set
res1 <- lapply(demohyper$Points, FUN = function(x) ppm(x~1, interaction = Hybrid(Geyer(r=.1, sat=3), Hardcore(NA))) )
minhc <- min(sapply(res1, FUN = function(x) { x$interaction$par$HybridComponent2$par$hc }))
minhc # .01166023

# fit mppm model with hc < minhc
res3 <- mppm(Points ~ 1, interaction = Hybrid(Geyer(r=.1, sat=3), Hardcore(.01)), data=demohyper)
sub <- subfits(res3, verbose=T)

... но на этот раз subfits возвращает ошибку:

Extracting stuff...done.
Determining active interactions...done.
Computing implied coefficients...Interaction, done.
Fisher information...Error in check.nvector(w, nrow(x), things = "rows of x") : 
  The length of ‘w’ (=4257) should equal the number of rows of x (=4229)
In addition: Warning message:
In split.default(values, id) :
  data length is not a multiple of split variable

Кто-нибудь знает, является ли это ожидаемым поведением, которое должно делать с моим выбором параметров? Иначе я был бы признателен за любые советы о том, как заставить subfits работать с процессом гибридного взаимодействия.

Большое спасибо!

1 Ответ

0 голосов
/ 10 марта 2020

Это ошибки.

Теперь все они исправлены (как мы полагаем) в последней версии разработки (spatstat 1.63-3.004), доступной в репозитории github.

...