Заполните отсутствующие значения
заливки недостающие записи массива или таблицы с постоянным значением F = fillmissing(A,'constant',v)v. Если A матричный или многомерный массив, затем v может быть или скаляр или вектор. Когда v вектор, каждый элемент задает значение заливки в соответствующем столбце A. Если A таблица или расписание, затем v может также быть массив ячеек.
Отсутствующие значения заданы согласно типу данных A:
NaN 'double'единственныйдлительность, и calendarDuration
NaT datetime
<missing> Строка
<undefined> категориальный
' ' 'char'
{''} ячейка из символьных массивов
Если A таблица, затем тип данных каждого столбца задает отсутствующее значение для того столбца.
задает дополнительные параметры для заполнения отсутствующих значений с помощью одного или нескольких аргументов пары "имя-значение". Например, если F = fillmissing(___,Name,Value)t вектор из временных стоимостей, затем fillmissing(A,'linear','SamplePoints',t) интерполирует данные в A относительно времен в t.
Вектор с NaN ЗначенияСоздайте вектор, который содержит NaN значения и замена каждый NaN с предыдущим неотсутствующим значением.
A = [1 3 NaN 4 NaN NaN 5];
F = fillmissing(A,'previous')F = 1×7
1 3 3 4 4 4 5
Используйте интерполяцию, чтобы заменить NaN значения в неоднородно выборочных данных.
Задайте вектор неоднородных точек выборки и оцените синусоидальную функцию по точкам.
x = [-4*pi:0.1:0, 0.1:0.2:4*pi]; A = sin(x);
Введите NaN значения в A.
A(A < 0.75 & A > 0.5) = NaN;
Заполните недостающие данные с помощью линейной интерполяции и возвратите заполненный векторный F и логический векторный TF. Значение 1 (true) в записях TF соответствует значениям F это было заполнено.
[F,TF] = fillmissing(A,'linear','SamplePoints',x);
Отобразите на графике исходные данные и заполненные данные.
plot(x,A,'.', x(TF),F(TF),'o') xlabel('x'); ylabel('sin(x)') legend('Original Data','Filled Missing Data')

NaN с движущейся медианойИспользуйте движущуюся медиану, чтобы заполнить недостающие числовые данные.
Создайте вектор точек выборки x и вектор из данных A это содержит отсутствующие значения.
x = linspace(0,10,200); A = sin(x) + 0.5*(rand(size(x))-0.5); A([1:10 randi([1 length(x)],1,50)]) = NaN;
Замените NaN значения в A использование движущейся медианы с окном длины 10, и график и исходные данные и заполненные данные.
F = fillmissing(A,'movmedian',10); plot(x,F,'r.-',x,A,'b.-') legend('Filled Missing Data','Original Data')

Создайте матрицу с недостающими записями и заливкой через столбцы (второе измерение) одна строка во время с помощью линейной интерполяции. Для каждой строки заполните начальные и конечные отсутствующие значения самым близким неотсутствующим значением в той строке.
A = [NaN NaN 5 3 NaN 5 7 NaN 9 NaN;
8 9 NaN 1 4 5 NaN 5 NaN 5;
NaN 4 9 8 7 2 4 1 1 NaN]A = 3×10
NaN NaN 5 3 NaN 5 7 NaN 9 NaN
8 9 NaN 1 4 5 NaN 5 NaN 5
NaN 4 9 8 7 2 4 1 1 NaN
F = fillmissing(A,'linear',2,'EndValues','nearest')
F = 3×10
5 5 5 3 4 5 7 8 9 9
8 9 5 1 4 5 5 5 5 5
4 4 9 8 7 2 4 1 1 1
Заполните отсутствующие значения для табличных переменных с различными типами данных.
Составьте таблицу, переменные которой включают categorical'double', и char типы данных.
A = table(categorical({'Sunny';'Cloudy';''}),[66;NaN;54],{'';'N';'Y'},[37;39;NaN],...
'VariableNames',{'Description' 'Temperature' 'Rain' 'Humidity'})A=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy NaN {'N' } 39
<undefined> 54 {'Y' } NaN
Замените все недостающие записи на значение от предыдущей записи. С тех пор в Rain нет никакого предыдущего элемента переменная, вектор отсутствующего символа не заменяется.
F = fillmissing(A,'previous')F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy 66 {'N' } 39
Cloudy 54 {'Y' } 39
Замените NaN значения от Temperature и Humidity переменные в A с 0.
F = fillmissing(A,'constant',0,'DataVariables',{'Temperature','Humidity'})
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy 0 {'N' } 39
<undefined> 54 {'Y' } 0
В качестве альтернативы используйте isnumeric функция, чтобы идентифицировать числовые переменные, чтобы работать с.
F = fillmissing(A,'constant',0,'DataVariables',@isnumeric)
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy 0 {'N' } 39
<undefined> 54 {'Y' } 0
A — Входные данныеВходные данные в виде вектора, матрицы, многомерного массива, таблицы или расписания.
Если A расписание, затем только табличные значения заполнены. Если связанный вектор времен строки содержит NaT или NaN значение, затем fillmissing производит ошибку. Времена строки должны быть уникальными и перечислены в порядке возрастания.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | table | timetable | categorical | datetime | duration | calendarDuration
v — Постоянная заливкаЗаливка, постоянная в виде скаляра, вектора или массива ячеек. v может быть вектор когда A матричный или многомерный массив. v может быть массив ячеек когда A таблица или расписание.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | cell | categorical | datetime | duration
method fillmethod 'previous' | 'next' | 'nearest' | 'linear' | 'spline' | 'pchip' | 'makima'Метод заполнения в виде одного из следующего:
| Метод | Описание |
|---|---|
'previous' | предыдущее неотсутствующее значение |
'next' | следующее неотсутствующее значение |
'nearest' | самое близкое неотсутствующее значение |
'linear' | линейная интерполяция соседних, неотсутствующих значений (числовой, duration, и datetime только типы данных) |
'spline' | кусочная интерполяция кубическим сплайном (числовой, duration, и datetime только типы данных) |
'pchip' | сохраняющая форму кусочная интерполяция кубическим сплайном (числовой, duration, и datetime только типы данных) |
'makima' | модифицированный Акима кубическая интерполяция Эрмита (числовой, duration, и datetime только типы данных) |
movmethod — Движущийся метод'movmean' | 'movmedian'Движущийся метод, чтобы заполнить недостающие данные в виде одного из следующего:
| Метод | Описание |
|---|---|
'movmean' | Скользящее среднее значение по окну длины window (только типы числовых данных) |
'movmedian' | Движущаяся медиана по окну длины window (только типы числовых данных) |
window — Длина окнаДлина окна в виде положительного целочисленного скаляра, двухэлементного вектора из положительных целых чисел, положительного скаляра длительности или двухэлементного вектора из положительной длительности.
Когда window положительный целочисленный скаляр, затем окно сосредоточено о текущем элементе и содержит window-1 граничение с элементами. Если window является четным, затем окно сосредоточено о текущих и предыдущих элементах. Если window двухэлементный вектор из положительных целых чисел [b f], затем окно содержит текущий элемент, b элементы назад и f элементы вперед.
Когда A расписание или 'SamplePoints' задан как datetime или duration вектор, window должен иметь тип duration, и окна вычисляются относительно точек выборки.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration
dim — Размерность, которая задает направление расчетаВеличина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.
Когда A таблица или расписание, dim не поддерживается. fillmissing действует вдоль каждой переменной таблицы или расписания отдельно.
Рассмотрите двумерный входной массив, A.
Если dim=1, затем fillmissing заливки A столбец столбцом.

Если dim=2, затем fillmissing заливки A строка строкой.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
fillmissing(A,'DataVariables',{'Temperature','Altitude'}) заливки только столбцы, соответствующие Temperature и Altitude переменные входной таблицы'EndValues' — Метод для обработки конечных точек'extrap' (значение по умолчанию) | 'previous' | 'next' | 'nearest' | 'none' | скалярМетод для обработки конечных точек в виде разделенной запятой пары, состоящей из 'EndValues' и один из 'extrap', 'previous', 'next'самый близкий'none', или постоянное скалярное значение. Метод заполнения конечной точки обрабатывает начальные и конечные отсутствующие значения на основе следующих определений:
| Метод | Описание |
|---|---|
'extrap' | то же самое как method |
'previous' | предыдущее неотсутствующее значение |
'next' | следующее неотсутствующее значение |
'nearest' | самое близкое неотсутствующее значение |
'none' | никакое значение заливки |
| скаляр | постоянное значение (числовой, duration, и datetime только типы данных) |
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime | duration
'SamplePoints' 'SamplePoints' Точки выборки для метода заполнения в виде разделенной запятой пары, состоящей из 'SamplePoints' и вектор. Точки выборки представляют местоположение данных в A, и должен быть отсортирован и содержать уникальные элементы. Точки выборки не должны быть однородно произведены. Если A расписание, затем вектор точек выборки по умолчанию является вектором времен строки. В противном случае вектором по умолчанию является [1 2 3 ...].
Движущиеся окна заданы относительно точек выборки. Например, если t вектор времен, соответствуя входным данным, затем fillmissing(rand(1,10),'movmean',3,'SamplePoints',t) имеет окно, которое представляет временной интервал между t(i)-1.5 и t(i)+1.5.
Когда вектор точек выборки имеет тип данных datetime или duration, затем движущаяся длина окна должна иметь, вводят duration.
Эта пара "имя-значение" не поддерживается, когда входные данные являются расписанием.
Типы данных: double | single | datetime | duration
'DataVariables' — Табличные переменные, чтобы заполнитьvartype индексТабличные переменные, чтобы заполнить в виде разделенной запятой пары, состоящей из 'DataVariables' и имя переменной, массив ячеек имен переменных, числового вектора, логического вектора, указателя на функцию или таблицы vartype индекс. 'DataVariables' значение указывает, какие столбцы входной таблицы заполнить, и может быть одно из следующего:
Вектор символов, задающий одно имя табличной переменной
Массив ячеек из символьных векторов, где каждым элементом является имя табличной переменной
Вектор из индексов табличной переменной
Логический вектор, элементы которого каждый соответствует табличной переменной, где true включает соответствующую переменную и false исключает его
Указатель на функцию, который возвращает логический скаляр, такой как @isnumeric
Таблица vartype индекс
Пример: 'Age'
Пример: {'Height','Weight'}
Пример: @iscategorical
Пример: vartype('numeric')
'MissingLocations' — Известный недостающий индикаторИзвестный недостающий индикатор в виде разделенной запятой пары, состоящей из 'MissingLocations' и логический вектор, матрица или многомерный массив одного размера с A. Элементами индикатора может быть true указать на отсутствующее значение в соответствующем месте A или false в противном случае.
Типы данных: логический
'MaxGap' — Максимальный размер разрыва, чтобы заполнитьduration скаляр | calendarDuration скалярМаксимальный размер разрыва, чтобы заполнить в виде числового скаляра, duration скаляр или calendarDuration скаляр. Разрывы являются кластерами последовательных отсутствующих значений, размер которых является расстоянием между неотсутствующими значениями, окружающими разрыв. Размер разрыва вычисляется в модулях относительно точек выборки. Разрывы, меньшие, чем или равный макс. размеру разрыва, заполнены, и разрывы, больше, чем размер разрыва не.
Например, рассмотрите векторный y = [25 NaN NaN 100] использование точек выборки по умолчанию [1 2 3 4]. Размер разрыва в векторе вычисляется из точек выборки как 4 - 1 = 3, так MaxGap значение 2 оставляет отсутствующие значения неизменными, в то время как MaxGap значение 3 заполняет отсутствующие значения.
Для отсутствующих значений вначале или конца данных:
Одно отсутствующее значение в конце входных данных имеет размер разрыва 0 и всегда заполнено.
Кластеры отсутствующих значений, происходящих вначале или конца входных данных, не полностью окружаются неотсутствующими значениями, таким образом, размер разрыва вычисляется с помощью самых близких существующих точек выборки. Для точек выборки по умолчанию 1:N, это производит размер разрыва, который равняется 1 меньшему, чем если бы тот же кластер произошел посреди данных.
F — Заполненные данныеЗаполненные данные, возвращенные как вектор, матрица, многомерный массив, таблица или расписание. F одного размера с A.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | table | timetable | categorical | datetime | duration | calendarDuration
TF — Заполненный индикатор данныхЗаполненный индикатор данных, возвращенный как вектор, матрица или многомерный массив. TF логический массив где 1 (true) соответствует записям в F это было заполнено и 0 (false) соответствует неизменным записям. TF одного размера с A и F.
Типы данных: логический
Указания и ограничения по применению:
'MaxGap' пара "имя-значение" не поддерживается.
'spline' и 'makima' методы не поддерживаются.
'SamplePoints' и 'MissingLocations' пары "имя-значение" не поддерживаются.
'DataVariables' пара "имя-значение" не может задать указатель на функцию.
'EndValues' пара "имя-значение" может только задать 'extrap'.
Синтаксис fillmissing(A,movmethod,window) не поддерживается когда A длинное расписание.
Синтаксис fillmissing(A,'constant',v) должен задать скалярное значение для v.
Синтаксис fillmissing(A,___) не поддерживает переменные вектора символов когда A длинная таблица или длинное расписание.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
'MaxGap' пара "имя-значение" не поддерживается.
'makima' опция не поддерживается.
Когда 'SamplePoints' значение имеет, вводят datetime или входные данные являются расписанием с datetime времена строки, только методы 'constant'movmean, и 'movmedian' поддерживаются.
По умолчанию таблица и входные параметры расписания приняты, чтобы содержать данные, которые не изменяют размер. Поэтому заданный метод заполнения не должен использовать значение заливки, которое изменяет размер значений, которые это заменяет, и размер значения заливки должен быть постоянным между заменами.
Очистить недостающие данные | filloutliers | ismissing | isnan | missing | rmmissing | standardizeMissing
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.