作为 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: %v\n", xs)
stddev := math.Sqrt(variance)
fmt.Printf("Standard deviation: %d\n\n", 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
函数的第二个参数。
关于go - 在 Go 中为示例 gonum 应用程序声明类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204118/