Много наборов данных имеют одно или несколько отсутствующих значений. Для отсутствующих значений кода как NaN
(Не Номер) удобно сохранить структуру наборов данных через несколько переменных и наблюдений.
Нормальные арифметические операции MATLAB® приводят к значениям NaN
, когда операндами является NaN
. Удаление значений NaN
уничтожило бы матричную структуру. Удаление строк, содержащих значения NaN
, отбросило бы данные. Функции Statistics and Machine Learning Toolbox™ в следующей таблице удаляют значения NaN
только в целях вычисления.
Функция | Описание |
---|---|
nancov | Ковариационная матрица, игнорируя значения |
nanmax | Максимум, игнорируя значения |
nanmean | Среднее значение, игнорируя значения |
nanmedian | Медиана, игнорируя значения |
nanmin | Минимум, игнорируя значения |
nanstd | Стандартное отклонение, игнорируя значения |
nansum | Суммируйте, игнорируя значения |
nanvar | Отклонение, игнорируя значения |
Другие функции Statistics and Machine Learning Toolbox также игнорируют значения NaN
. Они включают iqr
, kurtosis
, mad
, prctile
, range
, skewness
и trimmean
.
Создайте 3х3 матрицу выборочных данных. Удалите два значения данных, заменив их на NaN
.
X = magic(3); X([1 5]) = [NaN NaN]
X = 3×3
NaN 1 6
3 NaN 7
4 9 2
Вычислите сумму для каждого столбца матрицы выборочных данных использование функции sum
.
s1 = sum(X)
s1 = 1×3
NaN NaN 15
Если столбец будет содержать значение NaN
, то функция sum
возвратит NaN
как сумму данных в том столбце.
Для сравнения вычислите сумму для каждого столбца матрицы выборочных данных использование функции nansum
.
s2 = nansum(X)
s2 = 1×3
7 10 15
Если столбец содержит значение NaN
, то функция nansum
игнорирует значение NaN
и возвращает сумму остающихся значений в столбце.