来自维基百科:
中间四分位数(IQM)是一种基于四分位数区间截断均值的中心趋势的统计度量。IQM非常类似于由评审小组评估的体育比赛中使用的评分方法:放弃最低和最高的分数;计算其余分数的平均值。 在计算IQM时,只使用第二和第三四分位数中的数据(如在四分位数范围内),丢弃最低25%和最高25%的分数。这些点被称为第一和第三四分位数,因此称为IQM。(请注意,第二个四分位数也称为中位数)。
发布于 2016-09-02 10:57:36
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))
}
}
https://stackoverflow.com/questions/39290723
复制相似问题