如何使用 RNetLogo 提取代理集?
How can I extract agent-set by using RNetLogo?
我无法使用 RNetLogo 包在 R 中获取代理集
NLCommand("setup")
who <- list()
who[[i]] <- NLGetAgentSet(c("who","xcor","ycor"), "turtles")
NLGetAgetSet函数使用有问题吗?我需要一些帮助。
NLGetAgentSet
和 NLGetPatches
不适用于 NetLogo 6.0。
(我认为这与https://ccl.northwestern.edu/netlogo/docs/transition.html#v60有关)。
幸运的是,这些函数只是 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
此问题应在 rforge 提供的 RNetLogo 1.0-4 版中得到修复。
使用
install.packages("RNetLogo", repos="http://R-Forge.R-project.org")
从 rforge(而不是从 CRAN)安装它。
如果您确认问题已解决,我会将 CRAN 包从 1.0-3 更新到 1.0-4。
我无法使用 RNetLogo 包在 R 中获取代理集
NLCommand("setup")
who <- list()
who[[i]] <- NLGetAgentSet(c("who","xcor","ycor"), "turtles")
NLGetAgetSet函数使用有问题吗?我需要一些帮助。
NLGetAgentSet
和 NLGetPatches
不适用于 NetLogo 6.0。
(我认为这与https://ccl.northwestern.edu/netlogo/docs/transition.html#v60有关)。
幸运的是,这些函数只是 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
此问题应在 rforge 提供的 RNetLogo 1.0-4 版中得到修复。
使用
install.packages("RNetLogo", repos="http://R-Forge.R-project.org")
从 rforge(而不是从 CRAN)安装它。
如果您确认问题已解决,我会将 CRAN 包从 1.0-3 更新到 1.0-4。