exponenta event banner

standardizeMissing

Вставка стандартных отсутствующих значений

Описание

пример

B = standardizeMissing(A,indicator) заменяет значения, указанные в indicator со стандартными отсутствующими значениями в массиве или таблице.

Стандартные отсутствующие значения зависят от типа данных:

  • NaN для double, single, и duration

  • NaT для datetime

  • <missing> для string

  • <undefined> для categorical

  • ' ' для char

  • {''} для cell массивов символов

пример

B = standardizeMissing(A,indicator,'DataVariables',datavars) стандартизирует отсутствующие значения в переменных, указанных datavars когда A - таблица или расписание.

Примеры

свернуть все

Создание вектора строки и замена всех экземпляров -99 со стандартным отсутствующим значением для double типы данных, NaN.

A = [0 1 5 -99 8 3 4 -99 16];
B = standardizeMissing(A,-99)
B = 1×9

     0     1     5   NaN     8     3     4   NaN    16

Создание таблицы, содержащей Inf и 'N/A' для представления отсутствующих значений.

dblVar = [NaN;3;Inf;7;9];
cellstrVar = {'one';'three';'';'N/A';'nine'};
charVar = ['A';'C';'E';' ';'I'];
categoryVar = categorical({'red';'yellow';'blue';'violet';''});

A = table(dblVar,cellstrVar,charVar,categoryVar)
A=5×4 table
    dblVar    cellstrVar    charVar    categoryVar
    ______    __________    _______    ___________

     NaN      {'one'   }       A       red        
       3      {'three' }       C       yellow     
     Inf      {0x0 char}       E       blue       
       7      {'N/A'   }               violet     
       9      {'nine'  }       I       <undefined>

Заменить все экземпляры Inf с NaN и заменить все экземпляры 'N/A' с пустым символьным вектором, ''.

B = standardizeMissing(A,{Inf,'N/A'})
B=5×4 table
    dblVar    cellstrVar    charVar    categoryVar
    ______    __________    _______    ___________

     NaN      {'one'   }       A       red        
       3      {'three' }       C       yellow     
     NaN      {0x0 char}       E       blue       
       7      {0x0 char}               violet     
       9      {'nine'  }       I       <undefined>

Заменить экземпляры Inf и 'N/A' происходит в указанных переменных таблицы со стандартными индикаторами отсутствующих значений.

Создание таблицы, содержащей Inf и 'N/A' для представления отсутствующих значений.

a = {'alpha';'bravo';'charlie';'';'N/A'};
x = [1;NaN;3;Inf;5];
y = [57;732;93;1398;Inf];

A = table(a,x,y)
A=5×3 table
         a          x      y  
    ___________    ___    ____

    {'alpha'  }      1      57
    {'bravo'  }    NaN     732
    {'charlie'}      3      93
    {0x0 char }    Inf    1398
    {'N/A'    }      5     Inf

Для переменных a и x, заменить экземпляры Inf с NaN и 'N/A' с пустым символьным вектором, ''.

B = standardizeMissing(A,{Inf,'N/A'},'DataVariables',{'a','x'})
B=5×3 table
         a          x      y  
    ___________    ___    ____

    {'alpha'  }      1      57
    {'bravo'  }    NaN     732
    {'charlie'}      3      93
    {0x0 char }    NaN    1398
    {0x0 char }      5     Inf

Inf в переменной y остается неизменным, потому что y не включен в 'DataVariables' аргумент пары имя-значение.

Входные аргументы

свернуть все

Входные данные, указанные как вектор, матрица, многомерный массив, таблица или расписание. Если A является расписанием, то ismissing работает только с данными таблицы и игнорирует NaT и NaN значения в векторе времени строки.

Типы данных: double | single | char | string | cell | table | timetable | categorical | datetime | duration

Нестандартный индикатор отсутствия значения, заданный как скаляр, вектор или массив ячеек. Элементы indicator определить значения, которые standardizeMissing считается отсутствующим. Если A является массивом, то indicator должен быть вектором. Если A является таблицей или расписанием, то indicator также может быть массивом ячеек с записями нескольких типов данных.

Типы данных, указанные в indicator сопоставить типы данных в соответствующих записях A. Ниже приведены дополнительные совпадения типов данных между элементами indicator и элементы A:

  • double показатели совпадают double, single, целое число и logical записи A.

  • string и char показатели совпадают categorical записи A.

Пример: B = standardizeMissing(A,'N/A') заменяет вектор символов 'N/A' с пустым символьным вектором, ''.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration

Переменные таблицы для работы, указанные как один из параметров в этой таблице. datavars указывает, какие переменные входной таблицы следует стандартизировать. Другие переменные в таблице, не указанные datavars пройти на выход без работы.

ВыборОписаниеПримеры
Имя переменной

Вектор символов или скалярная строка, задающая имя переменной одной таблицы

'Var1'

"Var1"

Вектор имен переменных

Массив ячеек символьных векторов или строковый массив, где каждый элемент является именем переменной таблицы

{'Var1' 'Var2'}

["Var1" "Var2"]

Скаляр или вектор переменных индексов

Скаляр или вектор индексов табличных переменных

1

[1 3 5]

Логический вектор

Логический вектор, элементы которого соответствуют переменной таблицы, где true включает соответствующую переменную и false исключает его

[true false true]

Дескриптор функции

Дескриптор функции, принимающий переменную таблицы в качестве входного значения и возвращающий логический скаляр

@isnumeric

vartype нижний индекс

Подстрочный индекс таблицы, созданный vartype функция

vartype('numeric')

Пример: standardizeMissing(T,indicator,'DataVariables',["Var1" "Var2" "Var4"])

Выходные аргументы

свернуть все

Стандартизированный массив или таблица, заданная как вектор, матрица, многомерный массив, таблица или расписание. B имеет тот же размер, что и A.

Алгоритмы

standardizeMissing обрабатывает начальные и конечные пробелы по-разному для массивов ячеек символьных векторов, символьных массивов и категориальных массивов.

  • Для массивов ячеек символьных векторов: standardizeMissing не игнорирует пробел. Все векторы символов должны точно соответствовать вектору символов, указанному в indicator.

  • Для массивов символов standardizeMissing игнорирует конечный пробел.

  • Для категориальных массивов standardizeMissing игнорирует начальные и конечные пробелы.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2013b