在 Octave 中可以使用 NA("不可用"的缩写)来显式表示缺失数据。 这有助于区分数据的属性(即某些数据未被记录)和对数据进行的计算导致的错误(即生成了 NaN 值)。简而言之,如果你没有得到预期的结果,是数据的问题还是算法的问题?
缺失数据标记是 NaN 表示的一种特殊情况。因此,它只能用于浮点数表示的数据——不能用于整数、逻辑值或字符值。
通常情况下,使用 NA 和 isna 测试来描述数据集,或将数据集缩减为仅包含有效条目。
使用 NA 进行数值计算通常会"污染"结果并以输出 NA 结束。然而,这不能在所有平台上得到保证,NA 可能被 NaN 替换。
示例 1:描述数据集
data = [1, NA, 3];
percent_missing = 100 * sum (isna (data(:))) / numel (data);
printf ('%2.0f%% of the dataset is missing\n', percent_missing);
-| 数据集有33%缺失
示例 2:仅对有效数据进行计算
raw_data = [1, NA, 3];
printf ('mean of raw data is %.1f\n', mean (raw_data));
-| 原始数据的均值是 NA
valid_data = raw_data (! isna (raw_data));
printf ('mean of valid data is %.1f\n', mean (valid_data));
-| 有效数据的均值是 2.0
x = NA ¶x = NA (n) ¶x = NA (m, n, …) ¶x = NA ([m, n, …]) ¶x = NA (…, class) ¶x = NA (…, "like", var) ¶返回一个标量、矩阵或 N 维数组,其元素都等于用于指定缺失值的特殊常数 NA(Not Available)。
注意 NA 始终与 NA 不相等(NA != NA)。
要查找 NA 值,请使用 isna 函数。
如果不带参数调用,返回标量值 NA。
如果调用时带有一个标量整数参数 n,则返回一个 N×N 方阵。
如果调用时带有两个或更多标量整数参数,或者一个整数值的向量,则返回一个具有给定维度的数组。
可选参数 class 指定返回数组的类。
有效的选项是 "double"(默认)或 "single"。
编程注意:缺失数据标记 NA 是 NaN 表示的一种特殊情况。
使用 NA 进行数值计算通常会"污染"结果并以输出 NA 结束。
然而,这不能在所有平台上得到保证,NA 也可能被 NaN 替换。参见 缺失数据。
另请参阅: isna。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4