У меня есть модель в NetLogo, где агенты (черепахи) перемещаются по ландшафту и производят другие агенты (яйца) с заданной скоростью. Последние не двигаются. Моя цель - собрать координаты яиц и измерить такие вещи, как расстояние до ближайшего соседа.В RNetLogo, как я могу экспортировать список деталей агентов, не переписывая список каждый раз?
В RNetLogo У меня есть некоторый код, чтобы сделать это:
NLCommand("setup")
NLDoCommandWhile("day < 10", "go")
eggcoords <- list()
eggcoords <- NLGetAgentSet(c("who","xcor","ycor"), "eggs")
Проблема заключается в том, что модель замедляется, так как количество яиц увеличивается. Одно из решений заключается в том, чтобы убить яйца в конце дня, но сохранить их данные в списке, который я могу обновлять каждый день, не перезаписывая ничего. И вот где я застрял.
Надеюсь, вы сможете помочь.
Спасибо! Это действительно ускоряет модель и делает именно то, что я хочу. Затем я получаю пространственную статистику с пакетом plststat 'dist <- nndist (x, y), mean (dist)'. Мне было интересно, могу ли я включить оператор if в строку 'agent_set', чтобы избежать проблемы с получением ошибки, если не производится никаких яиц? –
Да, вы можете изменить репортера NetLogo, используя ['ifelse-value'] (http://ccl.northwestern.edu/netlogo/docs/dict/ifelse-value.html). Проверьте, например, «подсчет других черепах> 0». – bergant