/ / Zliczanie trybu listy - symulacja, netlogo

Uzyskanie liczby trybów listy - symulacja, netlogo

Próbuję uzyskać wartość trybu listy. Wiem, że mogę uzyskać tryb listy za pomocą operatora trybu w taki sposób, jak "tryby pokazu [1 2 2 2 3 4 4]", które będą raportować 2 jako tryb, ale w jaki sposób mogę to policzyć? tryb, 4 w tym przypadku, ponieważ są to 4 2 s. Przypuszczam, że mógłbym uzyskać tryb i iterować przez sprawdzanie listy, aby sprawdzić, czy każda liczba jest równa trybowi, ale zastanawiam się, czy jest prostszy sposób.

Z góry dziękuję!

Odpowiedzi:

2 dla odpowiedzi № 1

Kombinacją length i filter powinien dostać ci to, co chcesz:

let xs [1 2 2 3 3 4]
foreach modes xs [
let mode ?
let n length filter [ ? = mode ] xs
print (word "mode: " mode ", occurrences: " n)
]

Wyjdzie:

mode: 2, occurrences: 2
mode: 3, occurrences: 2

(Oczywiście z definicji każdy tryb będzie miał taką samą liczbę wystąpień).