exponenta event banner

addprop

Добавление пользовательских свойств в таблицу или расписание

Описание

пример

T = addprop(T,propertyNames,propertyTypes) добавляет свойства, содержащие пользовательские метаданные, в таблицу или расписание T. Входной аргумент propertyNames задает имена свойств. Для каждого пользовательского свойства, propertyTypes указывает, применяются ли значения метаданных, содержащиеся в свойстве T в целом или к переменным T.

После добавления свойств с помощью addprop, можно назначить значения метаданных свойствам с помощью синтаксиса точек.

Примеры

свернуть все

Считывание данных в таблицу. Затем добавьте свойства, содержащие пользовательские метаданные.

Во-первых, считывайте измерения влажности и качества воздуха в таблицу. Просмотрите первые три строки.

T = readtable('indoors.csv');
head(T,3)
ans=3×3 table
           Time            Humidity    AirQuality
    ___________________    ________    __________

    2015-11-15 00:00:24       36           80    
    2015-11-15 01:13:35       36           80    
    2015-11-15 02:26:47       37           79    

Отображение свойств таблицы. Объект свойств, T.Properties, сохраняет метаданные, такие как имена двух измерений таблицы и имена переменных таблицы. Все таблицы имеют такие объекты с одинаковыми свойствами. (Расписания также имеют похожие объекты, которые включают дополнительные, зависящие от времени свойства.)

T.Properties
ans = 
  TableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'Time'  'Humidity'  'AirQuality'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Кроме того, можно указать собственные свойства для хранения пользовательских метаданных. Например, используйте addprop функция для добавления свойств в таблицу T имя прибора, точность измерения и имя исходного файла. Для свойств с одним значением метаданных на переменную укажите 'variable' в качестве типа свойства. Для свойств, имеющих одно значение, применяемое ко всей таблице, укажите 'table'.

T = addprop(T,{'Instrument','Precision','SourceFile'},{'variable','variable','table'});
T.Properties
ans = 
  TableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'Time'  'Humidity'  'AirQuality'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}

   Custom Properties (access using t.Properties.CustomProperties.<name>):
              SourceFile: []
              Instrument: []
               Precision: []

При создании пользовательских свойств с помощью addprop, свойства пусты. Чтобы сохранить значения метаданных в пользовательских свойствах, назначьте их с помощью синтаксиса точек.

T.Properties.CustomProperties.Instrument = ["clock" "hygrometer" "air quality meter"];
T.Properties.CustomProperties.Precision = [NaN 0.5 0.1];
T.Properties.CustomProperties.SourceFile = 'indoors.csv';
T.Properties
ans = 
  TableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'Time'  'Humidity'  'AirQuality'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}

   Custom Properties (access using t.Properties.CustomProperties.<name>):
              SourceFile: 'indoors.csv'
              Instrument: ["clock"    "hygrometer"    "air quality meter"]
               Precision: [NaN 0.5000 0.1000]

При назначении массива текстовых значений пользовательским свойствам рекомендуется использовать строковый массив, а не массив ячеек символьных векторов. При использовании массива ячеек из символьных векторов отсутствует механизм, препятствующий последующему назначению нетекстовых значений в качестве элементов массива ячеек.

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

свернуть все

Входная таблица, заданная как таблица или расписание.

Имена пользовательских свойств, указанных как символьный вектор, массив ячеек символьных векторов или строковый массив.

Типы свойств, заданные как символьный вектор, массив ячеек символьных векторов или строковый массив. Для каждого имени свойства, указанного propertyNames, укажите соответствующий тип свойства как 'table' или 'variable'. Число типов свойств должно совпадать с числом имен свойств.

В таблице описаны два типа свойств.

Тип свойства

Описание

'table'

Свойство содержит одно значение произвольного размера. Значение применяется в качестве метаданных к таблице или расписанию в целом.

'variable'

Свойство содержит массив с одним значением для каждой переменной в таблице или расписании. Значения являются метаданными для переменных. Количество значений в массиве должно соответствовать количеству переменных.

Значения, сохраненные свойством, синхронизируются с переменными. Они отвечают при выполнении одного из следующих действий:

  • Переместить переменные - соответствующие значения в свойстве переупорядочиваются.

  • Добавить переменные - значения по умолчанию добавляются в качестве соответствующих значений в свойстве.

  • Удалить переменные - соответствующие значения удаляются из свойства.

Представлен в R2018b