我想在 golang 中获得数学统计的偏度和峰度。但是我在golang中找不到任何外部包。
我在 github 站点中找到了 JavaScript 的偏度函数。但是这个函数的值与 R 示例代码不同....
包主进口 ( “fmt” “数学” )
功能主要(){ arr := []float64{19.09, 19.55, 17.89, 17.73, 25.15, 27.27, 25.24, 21.05, 21.65, 20.92, 22.61, 15.71, 22.04, 22.60, 24.25} 获取偏度(arr) } func getSkewness(arr []float64) {
var delta, n, delta_n, term1, mean, m2, m3 float64 for _, v := range arr { n += 1 delta = v - mean delta_n = delta / n term1 = delta * delta_n * (n - 1) m3 += term1*delta_n*(n-2) - 3*delta_n*m2 m2 += term1 mean += delta_n } g := math.Sqrt(n) * m3 / math.Pow(m2, 3/2) result := math.Sqrt(n*n-1) * g / (n - 2) fmt.Println(result) }