可以在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.
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2