【问题标题】:How to subtract a list from another item by item in NetLogo (like in R)如何在 NetLogo 中逐项从另一个列表中减去一个列表(如在 R 中)
【发布时间】:2017-02-27 00:03:09
【问题描述】:

编辑:应该适用于 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 中编码?

【问题讨论】:

    标签: list netlogo subtraction


    【解决方案1】:

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

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

    【讨论】:

    • 同意。如果可能的话,我会删除我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 2011-07-02
    • 1970-01-01
    相关资源
    最近更新 更多