Сколько у вас значений?Если их не так много, вы можете написать свою собственную функцию.Вот что я сделал ниже.Он сортирует значения, затем считает по соответствующему проценту и возвращает отчет, интерполируя при необходимости.Код представляет собой законченную модель, поэтому вы можете попробовать его.
turtles-own [test-value]
to setup
clear-all
create-turtles 150 [set test-value random-float 1]
type "20%ile is " print calc-pct 20 [test-value] of turtles
end
to-report calc-pct [ #pct #vals ]
let #listvals sort #vals
let #pct-position #pct / 100 * length #vals
; find the ranks and values on either side of the desired percentile
let #low-rank floor #pct-position
let #low-val item #low-rank #listvals
let #high-rank ceiling #pct-position
let #high-val item #high-rank #listvals
; interpolate
ifelse #high-rank = #low-rank
[ report #low-val ]
[ report #low-val + ((#pct-position - #low-rank) / (#high-rank - #low-rank)) * (#high-val - #low-val) ]
end
Это будет медленным, если у вас много значений.В этом случае вам лучше использовать расширение R
и вычислить в R.