计算 NetLogo 中变量的不同值的数量

Count number of different values of a variable in NetLogo

我正在 NetLogo 中构建表皮细胞的模拟。 我有两种类型的细胞,祖细胞和 post 有丝分裂细胞。祖细胞是可以分裂成祖细胞或post有丝分裂的细胞。 每个 运行 都以 239 个祖细胞开始,每个祖细胞都有自己的身份(从 1 到 239),这是海龟自己的。祖细胞每分裂一次,就把身份赋予后代。

我想计算一定数量的滴答后不同 身份的数量。我用监视器和列表尝试过,但没有用。

这是我编写的一小部分代码:

turtles-own [ identity]
globals [ id-count]

to setup
ask patches [sprout-postmitotic 1]

ask n-of (( 22 / 100) * count postmitotic) patches [ 

ask postmitotic-here [
hatch-progenitor 1
[
    set identity id-count
  set id-count id-count + 1 ]
   die ] 
]
end


to go
ask progenitor[
if random-float 1 < l [
      hatch-postmitotic 1
    ]
end

如果您post 为这样的问题编写代码,请尝试生成一个最小示例来支持该问题。这里有两种方法。 (第一个说明了 table:counts 的用法,它可以访问更多信息。)

extensions [table]
turtles-own [identity]
to setup
  ca
  crt 1000 [set identity random 1000]
end
to-report id-count-01
  let _idcts table:counts [identity] of turtles
  let _unique table:keys _idcts
  report length _unique
end

to-report id-count-02
  let _unique remove-duplicates [identity] of turtles
  report length _unique
end