3.1.2缺失数据

可以在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
 
val = NA
val = NA (n)
val = NA (n, m)
val = NA (n, m, k, …)
val = NA (…, "like", var)
val = NA (…, class)

返回标量、矩阵或N维数组,其元素都等于用于指定缺省值的特殊常数NA(Not Available)。

请注意,NA总是与NA不相等(NA!=NA)。要查找NA值,请使用isna作用

在不带参数的情况下调用时,返回值为“”的标量NA’.

当使用单个参数调用时,返回一个指定维度的方阵。

当使用多个标量参数调用时,前两个参数被视为行和列的数量,任何其他参数指定额外的矩阵维度。

如果变量var在之后指定"like",输出val将具有与相同的数据类型、复杂度和稀疏性var.

可选参数class指定返回类型,可以是"double""single".

注意:缺失的数据标记NA是NaN表示的一种特殊情况。使用NA进行数值计算通常会“污染”结果并以输出NA结束。然而,这不能在所有平台上保证,NA可能被NaN替换。 详见缺失数据.

详见: isna.

 
tf = isna (x)

返回一个逻辑数组,该数组为true,其中的元素为xareNA(缺失)值,不存在的地方为false。

例如

isna ([13, Inf, NA, NaN])
     ⇒ [ 0, 0, 1, 0 ]

详见: isnan, isinf, isfinite.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2