Ошибка функции K Рипли на spatstat

Мне нужна помощь с функцией Kest на spatstat. Я пытаюсь вычислить K де Рипли для моих имитационных данных. Когда я пытаюсь запустить функцию, R показывает мне некоторую ошибку, в которой говорится:

Ошибка: 7 сегментов не полностью лежат внутри окна.

Но когда я рисую карту, все точки отлично видны в окне наблюдения. Я использую следующие коды:

library(spatstat)
library(sp)
library(maptools)

pemt.area <- readShapePoly("Fragment/Fragment_SIRGAS.shp")
pemt.area <- as(pemt.area, "owin")
plot(pemt.area)

tree.simu <- read.table("simulation.txt", h=T)
tree.simu
tree.simu.ppp<- ppp(x=tree.simu$X,y=tree.simu$Y,window=pemt.area)
plot(tree.simu.ppp)

ripley <- Kest(tree.simu.ppp, correction="isotropic", domain=pemt.area, var.approx=TRUE, ratio=TRUE)
plot(ripley, main = "K function")

Я попытался посмотреть на виньетку, но мне не удалось исправить эту проблему.

Следующая ссылка содержит файлы данных. Если вам нужно что-то еще, дайте мне знать: https://drive.google.com/folderview?id=0B_cWshGkkAzjbHBnemNuMzh1Q1k&usp=sharing

Спасибо, очень ценю вашу помощь!


person Renzo Ferreira    schedule 29.06.2014    source источник
comment
Как и в ответе @ carl-witthoft, я могу запустить весь код без ошибок. Не могли бы вы предоставить информацию об операционной системе и версиях R и spatstat? PS: Пожалуйста, не забудьте принять ответы, если они решили вашу проблему (извините, я как-то пропустил, что этот ответ был принят, но замечание все еще отвечает на ваш предыдущий вопрос, на который я пытался ответить).   -  person Ege Rubak    schedule 30.06.2014


Ответы (2)


Это не связано с Kest или ppp.

Обратите внимание, что в сообщении об ошибке говорится о сегментах, а не о точках.

Это сообщение об ошибке от spatstat функции psp, которая создает пространственный узор из линейных сегментов. Ошибка указывает на то, что данные многоугольника не соответствуют требованиям. Скорее всего, это происходит во время вызова readShapePoly или as.owin. Чтобы отследить ее, вы можете ввести traceback() сразу после отчета об ошибке, и это покажет, где именно возникла ошибка.

Сначала было бы разумно обновить все ваши пакеты.

person Adrian Baddeley    schedule 27.06.2016

Я не могу воспроизвести вашу проблему. Вот созданный мной K-график. Kfunc.jpg

В моем случае: OSX, R 3.1.0. Все, что я могу предложить, - это убедиться, что ваши пакеты обновлены, и дважды проверить, идентичны ли файлы, которые вы используете, тем, которые указаны в вашей ссылке.

person Carl Witthoft    schedule 29.06.2014
comment
Я считаю, что более ранние версии spatstat не смогли бы создать точечный шаблон, если бы какие-либо точки были за пределами окна, тогда как теперь он просто выдает предупреждение и количество точек за пределами окна. Возможное быстрое решение - расширить окно, например BiggerWindow <- dilation(pemt.area, 100), если площадь измеряется в метрах, будет 100-метровый буфер. Но учтите, что это изменит поправки на края и оценки плотности, поэтому используйте их с осторожностью. - person Andy W; 29.06.2014