作为 numpy 的狂热粉丝,我很高兴地发现 golang 的图书馆正在进行中。我编写了一个小型测试程序,主要基于文档,如下所示:
package main
import (
"fmt"
"math"
"gonum.org/v1/gonum/stat"
)
func main() {
xs := []float64 {
23.32, 44.32, 100.12, 191.90,
23.22, 90.21, 12.22, 191.21,
1.21, 12.21, 34.23, 91.02,
}
variance := stat.Variance(xs)
fmt.Printf("Data: %vn", xs)
stddev := math.Sqrt(variance)
fmt.Printf("Standard deviation: %dnn", stddev)
}
当我尝试构建程序时,我注意到以下编译器错误:
C:>go build hello.go
# command-line-arguments
.hello.go:19:30: not enough arguments in call to stat.Variance
have ([]float64)
want ([]float64, []float64)
任何建议将不胜感激。
谢谢。
stat.Variance
需要两个长度相同的[]float64
类型的参数:
func Variance(x, weights []float64) float64
您缺少weights
参数。 如果要将随机变量的所有权重设置为 1,则可以将nil
作为函数stat.Variance
第二个参数传递。
统计包文档