# mean
数组的均值
函数库: TyStatistics
# 语法
# 说明
- 如果 A 是向量,则 mean(A) 返回元素的均值;
- 如果 A 是矩阵,则 mean(A) 返回矩阵所有元素的均值。
M = mean(A,"all") 返回 A 上所有元素的均值。示例
M = mean(A,dim) 返回维度 dim 上的均值。例如 A 为矩阵,则 mean(A,2) 返回包含每一行均值的列向量。示例
M = mean(A,vecdim) 返回向量 vecdim 所指定的维度上的均值。例如,如果 A 是矩阵,则 mean(A,[1 2]) 返回 A 上所有元素的均值,因为矩阵的每个元素包含在由维度 1 和 2 定义的数组切片中。示例
M = mean(___,nanflag) 指定包括还是忽略 A 中的缺失值,例如 mean(___,"omitnan") 在计算均值时会忽略所有缺失值。默认情况下,mean 包括缺失值。示例
# 示例
向量均值
创建一个向量,计算其所有元素的均值。
using TyStatistics
A = [4 -5 1 2 3 5 -9 1 7]
M = mean(A)
M=1.0
矩阵列均值
创建一个矩阵并计算每列的均值。
using TyStatistics
A = [0 1 1; 2 3 2; 1 3 2; 4 2 2]
M = mean(A,1)
M=1×3 Matrix{Float64}:
1.75 2.25 1.75
矩阵行均值
创建一个矩阵并计算每行的均值。
using TyStatistics
A = [0 1 1; 2 3 2; 3 0 1; 1 2 3]
M = mean(A,2)
M = 4×1 Matrix{Float64}:
0.6666666666666666
2.3333333333333335
1.3333333333333333
2.0
三维数组的均值
创建一个包含 1 到 10 之间整数的 4×2×3 数组,并沿第二个维度计算均值。
using TyStatistics
using TyMath
rng = MT19937ar(5489)
A = rand(rng,1:10,4,2,3)
M = mean(A,2)
M = 4×1×3 Array{Float64, 3}:
[:, :, 1] =
8.0
5.5
2.5
8.0
[:, :, 2] =
10.0
7.5
5.5
6.0
[:, :, 3] =
6.0
5.5
8.5
10.0
数组页的均值
创建一个三维数组并计算每页数据(行和列)的均值。
using TyStatistics
A = [[2 4; -2 1];;;[9 13; -5 7];;;[4 4; 8 -3]]
M = mean(A,[1 2])
M = 1×1×3 Array{Float64, 3}:
[:, :, 1] =
1.25
[:, :, 2] =
6.0
[:, :, 3] =
3.25
要计算一个数组的所有维度上的均值,可以在向量维参数中指定每个维度,或使用 "all" 选项。
M2 = mean(A,[1 2 3])
M2 = 1×1×1 Array{Float64, 3}:
[:, :, 1] =
3.5
Mall = mean(A,"all")
Mall = 3.5
排除缺失值的均值
创建一个包含 NaN 值的矩阵。
using TyStatistics
A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
A = 2×4 Matrix{Float64}:
1.77 -0.005 NaN -2.95
NaN 0.34 NaN 0.19
计算矩阵的均值,不包括缺失值。对于包含任一 NaN 值的矩阵列,mean 使用非 NaN 元素进行计算。对于包含的值都是 NaN 的矩阵列,均值为 NaN。
M = mean(A,1,"omitnan")
M = 1×4 Matrix{Float64}:
1.77 0.1675 NaN -1.38
# 输入参数
A - 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵、多维数组。
- 如果 A 是标量,则 mean(A) 返回 A;
- 如果 A 为 0×0 空矩阵,则 mean(A) 返回 NaN。
数据类型: Number
dim - 沿其运算的维度
正整数标量
沿其运算的维度,指定为正整数标量。如果不指定维度,则默认为第一个大于 1 的数组维度。
维度 dim 表示长度减至 1 的维度。size(M,dim) 为 1,而所有其他维度的大小保持不变。
以一个 m×n 输入矩阵 A 为例:
- mean(A,1) 计算 A 的每列元素的均值,并返回一个 1×n 行向量;
- mean(A,2) 计算 A 的每行元素的均值,并返回一个 m×1 列向量。
如果 dim 大于 ndims(A) 或者 size(A,dim) 为 1 时,mean 返回 A。
vecdim - 维度向量
正整数向量
维度向量,指定为正整数向量。每个元素代表输入数组的一个维度。指定的操作维度的输出长度为 1,而其他保持不变。
以 2×3×3 输入数组 A 为例。然后 mean(A,1,[1 2]) 返回 1×1×3 数组,其元素是在 A 的每个页面的均值。

nanflag - 缺失值条件
"includenan"(默认) | "omitnan"
缺失值条件,指定为下表中的值之一。
| 值 | 输入数据类型 | 描述 |
| "includenan" | Float32,Float64 | 在计算均值时包括 A 中的缺失值。如果运算维度中的任一元素缺失,则 M 中的对应元素也会缺失。 |
| "omitnan" | Float32,Float64 | 忽略 A 中的缺失值,并基于较少的点计算均值。如果运算维度中的所有元素都缺失,则 M 中的对应元素也会缺失。 |
# 详细信息
标准差
对于由 N 个标量观测值组成的有限长向量A,标准差定义为: