То, что вы могли бы сделать, это использовать фильтр длины, чтобы получить количество объектов, созданных мужчинами или женщинами (если я правильно понял, это item 2
в вашем примере списка):
let selected (list item 0 list_1 item 1 list_1 item 2 list_1)
ifelse item 2 list_1 = women [
set list_1_w fput selected list_1_w
print (word "List objects created by women: " list_1_w)
let list_count_w (length (filter [a -> item 2 a = women] list_1_w)) /* added */
]
[ set list_1_m fput selected list_1_m
print (word "List objects created by men: " list_1_m)
let list_count_m (length (filter [a -> item 2 a = men] list_1_m)) /* added */
]
Две let
переменные выше возвращают количество объектов, созданных женщинами или мужчинами. Этот подсчет учитывает только породы женщин и мужчин, не различая объекты, созданные женщиной x
, и объекты, созданные мужчиной x
. Что касается их построения, то, вероятно, следует подсчитать их все на каждом тике, чтобы иметь хронологию числа событий (объектов), выбранных во времени агентами. Для отслеживания каждого объекта идея состоит в том, чтобы создать временную ручку для графика, которая может отслеживать все объекты:
ask turtles [ /* here you should distinguish between objects created by women and objects created by men */
create-temporary-plot-pen (word who)
set-plot-pen-color color
plotxy ticks ___ /* you should add here variable that you want to consider */
]
Приведенный выше код может создать мультиплот для отслеживания всех объектов (но вам нужно будет пометить их и отслеживать, когда они выбраны). Это просто идея. Вы (или кто-то еще в сообществе) должны соответствующим образом изменить приведенный выше код, чтобы рассмотреть различные породы и способы отслеживания этих объектов во времени.
Надеюсь, это поможет!