我想让R和NetLogo使用r扩展程序互相交谈.我传递图形对象而不是简单的变量.这意味着我需要从NetLogo导出文件并在R中导入文件,这意味着他们需要指向同一目录.代码运行完美.但是,一旦运行,NetLogo将失去与extensions文件夹的连接.
它似乎与在R中设置工作目录有关,因为以下MWE也会产生问题.
extensions [r]
to testSETWD
r:eval "setwd(\"C:\")"
end
Run Code Online (Sandbox Code Playgroud)
成功运行后,然后尝试对NetLogo进行任何编辑,我收到错误Can't find extension ....
只要我在运行R代码后不尝试编辑,NetLogo继续工作,我可以毫无问题地使用扩展.只有当我编辑代码并运行语法分析器(绿色勾选)时才会出现问题.
我做了一个错误报告,但显然不可重现.我正在运行Windows 8.1 64位.这对其他人来说是个问题吗?
小智 1
我在 NetLogo 中使用 r 扩展时发现了类似的东西。
我只是重置到原来的工作目录。例如:
;retain old working directory
r:eval "oldWD <- getwd()"
;The code you are running. ie.
r:eval "setwd(\"C:\")"
r:put "something" NetLogoSomething
r:eval "ReturnedThing <- SomethingElse(something)"
;And then reset the working directory:
r:eval "setwd(oldWD)"
Run Code Online (Sandbox Code Playgroud)