如何从NetLogo中的另一个项目中减去列表(如在R中)

时间:2017-02-27 00:03:09

标签: list netlogo subtraction

编辑:应适用于NetLogo 5.3.1。

我的问题: 我在NetLogo中有两个列表,例如[13 8 2 20 8][7 7 7 7 7],它们的长度相同。我想逐项逐项减去后面的列表,即[(13-7)(8-7)(2-7)(20-7)(8-7)]。 因此结果必须是:[6 1 -5 13 1]

在R中很容易:

> a <- c(13, 8, 2, 20, 8)
> b <- rep(7, 5)
> c <- a - b
> print(c)
[1]  6  1 -5 13  1

不幸的是,NetLogo不能以这种方便的方式工作。

我的问题: 如何在NetLogo中编写代码?

1 个答案:

答案 0 :(得分:6)

如果您的列表长度相同,则可以使用map在多个列表上执行操作。然后,给定的报告者对所有第一项运行一次,然后对所有第二项运行一次,.......结果是一个与输入列表长度相同的列表。

show (map - [13 8 2 20 8] [7 7 7 7 7])
observer: [6 1 -5 13 1]