# mean


数组的均值

函数库: TyStatistics

# 语法

M = mean(A)

M = mean(A,"all")

M = mean(A,dim)

M = mean(A,vecdim)

M = mean(___,nanflag)

# 说明

M = mean(A) 返回 A 所有元素的均值。示例

  • 如果 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,标准差定义为:

.

# 另请参阅

median | mode | std | var | sum