R扩展中断与NetLogo中扩展目录的连接
我正在尝试使用R扩展中断与NetLogo中扩展目录的连接,r,netlogo,R,Netlogo,我正在尝试使用R扩展让R和NetLogo彼此对话。我传递的是图形对象,而不仅仅是变量。这意味着我需要从NetLogo导出一个文件,然后在R中导入一个文件,这意味着它们需要指向同一个目录。代码运行良好。但是,一旦运行,NetLogo将失去与extensions文件夹的连接 它似乎与在R中设置工作目录有关,因为下面的MWE也会产生问题 extensions [r] to testSETWD r:eval "setwd(\"C:\")" end 在成功运行此程序,然后尝试对NetLogo进行任
R
扩展让R和NetLogo彼此对话。我传递的是图形对象,而不仅仅是变量。这意味着我需要从NetLogo导出一个文件,然后在R中导入一个文件,这意味着它们需要指向同一个目录。代码运行良好。但是,一旦运行,NetLogo将失去与extensions文件夹的连接
它似乎与在R中设置工作目录有关,因为下面的MWE也会产生问题
extensions [r]
to testSETWD
r:eval "setwd(\"C:\")"
end
在成功运行此程序,然后尝试对NetLogo进行任何编辑后,我得到错误找不到扩展名…
只要我在运行R代码后不尝试编辑,NetLogo就会继续工作,我可以毫无问题地使用扩展。只有当我编辑代码并运行语法分析器(绿色勾号)时,问题才会出现
我已经做了一个bug报告,但它显然是不可复制的。我正在运行Windows 8.1 64位。这对其他人来说是个问题吗?我在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)"
;保留旧工作目录
r:eval“oldWD在r中更改工作目录不起作用,因为它还更改了NetLogo查找其扩展名所需的Java库路径。请使用r中任何文件的绝对路径,而不是更改工作目录。