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
 
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,则返回一个NxN方阵。

如果调用时带有两个或更多标量整数参数,或者一个整数值的向量,则返回一个具有给定维数的数组。

可选参数class指定返回数组的类。 有效的选项是"double" (default) or "single".

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

详见: 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