addprop

Добавьте пользовательские свойства к таблице или timetable

Описание

пример

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