“统计学”是一门庞大而复杂的学科,涉及很多方面。
其中一些方面在Randomness概念中已经提到过,那是一个独立却相关的主题。
在最简单的情况下,统计学可以指用单个值来概括一个可迭代的数据集合。 刚接触 Julia 的人可能会惊讶地发现,这门语言默认内置的函数竟然这么少:
sum,用于把数字相加。min 和 max,用于取得所给参数中的极值。extrema,用于取得可迭代对象的 (min, max) 元组。length,用于统计所有值的个数。count,用于只统计满足某个条件的值。julia> v = collect(1:0.2:3)
11-element Vector{Float64}:
1.0
1.2
... # display truncated
3.0
julia> mean(v)
2.0
julia> extrema(v)
(1.0, 3.0)
julia> length(v)
11
julia> min('g', 'a', 'c')
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)
julia> count(isodd, 1:5) # 1, 3, and 5 are odd
3
这样一组有限的函数是有意为之,目的是避免 Julia 的基础部分变得臃肿,把其他函数移出去,交给一层又一层的其他模块和包。
Statistics模块Statistics属于标准库,很可能已经预装好,只需在程序顶部加上using Statistics,就能把它引入命名空间。
这个模块包含的是下一层级的常用函数,它们很可能会被一部分程序员广泛使用。
Statistics中的许多函数都假定你对该学科有一定的背景知识。
最简单的例子包括:
mean,很多人会称之为平均值(结果等同于 sum / length)。median,排序后位于中间的值。std,标准差:衡量数值分布有多分散的指标。var,方差:std 的平方,通常计算起来更快。每个函数往往都有各种选项,而且还有_很多_其他函数,感兴趣的话可以查阅文档。
正如你所料,统计学是 Julia 的一个重要应用场景,有很多可用的包来支持更专门的工作。
JuliaStats 团队贴心地维护了一份在线列表。