可以在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".
编程注意:缺失数据标记NA是NaN表示的一种特殊情况。
使用NA进行数值计算通常会"污染"结果并以输出NA结束。
然而,这不能在所有平台上保证,NA也可能被NaN替换。详见Missing Data.
详见: isna.
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2