diff --git a/basis/math/statistics/statistics-tests.factor b/basis/math/statistics/statistics-tests.factor index 932b8ee132..25ef951c66 100644 --- a/basis/math/statistics/statistics-tests.factor +++ b/basis/math/statistics/statistics-tests.factor @@ -230,3 +230,5 @@ IN: math.statistics.tests { 1 2 3 4 5 10 21 12 12 12 12203 3403 030 3022 2 2 } { 1/1000 } quantile5 ] unit-test + +{ 15+1/2 } [ { 4 8 15 16 23 42 } trimean ] unit-test diff --git a/basis/math/statistics/statistics.factor b/basis/math/statistics/statistics.factor index 8ef53dad55..493e17720a 100644 --- a/basis/math/statistics/statistics.factor +++ b/basis/math/statistics/statistics.factor @@ -205,6 +205,9 @@ PRIVATE> : quartile ( seq -- seq' ) { 1/4 1/2 3/4 } quantile5 ; +: trimean ( seq -- x ) + quartile first3 [ 2 * ] dip + + 4 / ; + assoc) ( seq map-quot insert-quot assoc -- assoc )