Как извлечь набор агентов с помощью RNetLogo?
У меня проблемы с получением наборов агентов в R с использованием пакета RNetLogo
NLCommand("setup")
who <- list()
who[[i]] <- NLGetAgentSet(c("who","xcor","ycor"), "turtles")
Что-то не так в использовании функции NLGetAgetSet? Мне нужна помощь.
2 ответа
Решение
Эта проблема должна быть исправлена в версии 1.0-4 RNetLogo, доступной от rforge.
использование
install.packages("RNetLogo", repos="http://R-Forge.R-project.org")
установить его из rforge (вместо CRAN).
Если вы подтвердите, что проблема устранена, я обновлю пакет CRAN с 1.0-3 до 1.0-4.
NLGetAgentSet
а также NLGetPatches
не работают с NetLogo 6.0.
(Я думаю, что это связано с https://ccl.northwestern.edu/netlogo/docs/transition.html).
К счастью, эти функции являются только обертками для NLReport
, Таким образом, вы можете получить агенты с NLReport
вместо. Например:
vars <- c("who", "xcor", "ycor")
agents <- "turtles"
reporters <- sprintf("map [x -> [%s] of x ] sort %s", vars, agents)
nlogo_ret <- RNetLogo::NLReport(reporters)
df1 <- data.frame(nlogo_ret, stringsAsFactors = FALSE)
names(df1) <- vars