2016-09-02 13 views
1

wikipediaより:迅速に配列の四分位平均を計算するには?

四分位平均(IQM)(またはmidmean)は、四分位範囲 の切断平均値に基づいて 中心傾向の統計的尺度です。 IQMは、スポーツで使用されている採点方法と非常によく似ています。 審査員によって評価されます。最も低いスコアと最も高いスコアを破棄します。 最高スコアです。残りの得点の平均値を計算する。 IQMの計算では、第二及び第三 四分位数のデータのみが(四分位範囲のように)使用される

、最低25% とスコアの最高25%が廃棄されます。これらの点は、第1および第3の四分位点と呼ばれる であり、したがってIQMの名前です。 (注: 、第2四分位数は中央値とも呼ばれます)。

答えて

2
func interquartile_mean(array: [Double]) -> Double { 
    let sorted_array = array.sort() 
    let from = Int(array.count*1/4) 
    let to = Int(array.count*3/4) 
    return Array(sorted_array[from..<to]).average 
} 
extension Array where Element: DoubleConvertible { 
    var total: Element { 
     return Element(reduce(0){ $0 + $1.double }) 
    } 
    var average: Element { 
     return isEmpty ? Element(0) : Element(total.double/Double(count)) 
    } 
} 
+0

また、それはより便利であればinterquartile_meanを返すdouble配列の拡張を作成することができます... – penatheboss

関連する問題