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