来自wikipedia:
四分位数均值(IQM)(或midmean)是统计量的 基于四分位数截断均值的集中趋势 范围。 IQM与体育运动中使用的评分方法非常相似 由一组评委评估:丢弃最低和最低 得分最高;计算剩余分数的平均值。
在计算IQM时,只有第二个和第三个数据 使用四分位数(如在四分位数范围内),最低25% 并且最高的25%的分数被丢弃。这些要点是 称为第一和第三四分位数,因此称为IQM的名称。 (注意 第二个四分位数也称为中位数。
答案 0 :(得分: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))
}
}