From 49c0b12b3375f2be8858981df4e0af576116045a Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 17 Jun 2013 09:55:20 -0700 Subject: [PATCH] math.statistics: Add trimean. --- basis/math/statistics/statistics-tests.factor | 2 ++ basis/math/statistics/statistics.factor | 3 +++ 2 files changed, 5 insertions(+) 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 )