моделировать логическую модель с помощью R - PullRequest
0 голосов
/ 08 ноября 2018

Я новичок в программировании на R, особенно с библиотекой spatstat. И поэтому я надеюсь, что кто-нибудь может мне помочь.

Я хочу смоделировать булеву модель. В моем случае это процесс Пуассона-Точки с замкнутыми кругами с радиусом r вокруг точек точечного процесса.

С X = rpoispp (100) я уже могу смоделировать точечный процесс. Но я понятия не имею, как создать круги вокруг точек.

мое исследование Google, к сожалению, не увенчалось успехом.

Спасибо за помощь, Perry

Ответы [ 3 ]

0 голосов
/ 10 ноября 2018

Теперь, после небольшого самообучения, я пришел к следующим результатам:

> X=rpoispp(8) 
> m=1
> marks(X)=m
> plot(X)

я получаю эту картинку: введите описание изображения здесь

Теперь я хочу масштабировать радиусы меток. Я не понимаю, как R устанавливает радиусы кругов. Я нашел это на учебном сайте: «Если задана шкала меток, то значение метки m отображается в виде окружности радиуса m * шкалы меток (если m положительно)». Я проверил это и был удивлен результатом. Если я правильно понял, радиус маркеров должен был бы остаться неизменным с

>plot(X, markscale = 1)

и должен был бы удвоиться на

>plot(X, markscale = 2)

но это не так.

PS: простите за мой плохой английский.

Perry

0 голосов
/ 11 ноября 2018

Просто создайте отмеченный точечный узор и используйте правильное значение markscale при построении с помощью plot.ppp:

library(spatstat)
X <- ppp(0.5, 0.5, window = owin()) # Single point in middle of unit square
marks(X) <- 0.5 
plot.ppp(X, markscale = 1, legend = FALSE) # Mark interpreted directly as diameter of cirle

plot.ppp(X, markscale = 2, legend = FALSE) # 2*mark interpreted as diameter of cirle (i.e. mark = radius)

Создано в 2018-11-11 пакетом представ (v0.2.1)

0 голосов
/ 08 ноября 2018

Google "Булевская модель spatstat" дал мне этот файл справки как один из первые хиты. В разделе примеров приведен пример булевой модели. в единичном квадрате с радиусом диска 0,2:

library(spatstat)
X <- discs(runifpoint(15) %mark% 0.2, npoly=16)
plot(X, main = "", col = "gray")

Это то, что тебе нужно?

Выше X - многоугольное приближение объединения дисков. альтернативно булева модель часто представляется просто как отмеченная точка шаблон с радиусом диска в качестве метки. От чего зависит удобнее контекст.

К вашему сведению: существует несколько эквивалентных способов прикрепления (вектора) меток m до точечного шаблона X: marks(X) <- m и X %mark% m. Создано в 2018-11-08 пакетом Представить (v0.2.1)

...