netlogo中的趋势计算

Trend calculation in netlogo

我想从 Netlogo 中的列表中计算趋势。在寻找积分计算之前。有什么棘手的方法吗? 如果不是,如 Netlogo mailing list, I have taken a look at Netlogo-R-extention and RNetlogo 中所述,但我想确定。 欢迎任何想法和建议。 :-)

例如:我的每个代理都有一个指标的记忆,作为 n 元素的列表。我想知道这个列表是增加还是减少...

内存管理为

to manage-memory ;; hunter procedure
  let _lgh-mem length mem-hunted-wolves
  ifelse _lgh-mem < mem-size [
    set mem-hunted-wolves lput tick-hunted-wolves mem-hunted-wolves
    set mem-hunted-sheep lput tick-hunted-sheep mem-hunted-sheep
  ][
    ;; Wolves
    set mem-hunted-wolves lput tick-hunted-wolves mem-hunted-wolves
    set mem-hunted-wolves remove-item 0 mem-hunted-wolves
    set slope-mem-wolves calcul-mem-slope mem-hunted-wolves ;; calcul slope from killed wolves list

    ;; sheep
    set mem-hunted-sheep lput tick-hunted-sheep mem-hunted-sheep
    set mem-hunted-sheep remove-item 0 mem-hunted-sheep
    set slope-mem-sheep calcul-mem-slope mem-hunted-sheep ;; calcul slope from killed wolves list
  ]
end

其中 mem-size 在 GUI 中。

我的目标是将列表 A 区分为 [5 8 6 7 4 5],将列表 B 区分为 [5 5 5 5 5 5]

我越想越觉得这是一个解决方案。但我不会将 "big R" 用于某个积分 ...

建立 "trend" 的一种方法是查看通过点的简单回归线的斜率。直线的斜率将指示趋势是积极的还是消极的,并且可能提供关于趋势幅度的额外有用信息。 matrix 扩展有一个简单的趋势原语,适用于 NetLogo v6.0 和 5.3。 stats 扩展允许更复杂的回归,但(目前)仅适用于 5.3.

查尔斯