table тип данных подходит для сбора разнородных данных, ориентированных на столбцы, в одном контейнере. Таблицы также содержат свойства метаданных, такие как имена переменных, имена строк, имена измерений, описания и единицы измерения переменных. Начиная с R2016b, можно использовать имена измерений для доступа к данным таблицы и метаданным с помощью подстрочного индекса точки. Для поддержки этого имена измерений должны удовлетворять тем же требованиям, что и имена переменных. Для обеспечения обратной совместимости таблицы применяют эти ограничения путем автоматического изменения имен размеров при необходимости.
Создайте таблицу с именами строк и переменных.
Number = [8; 21; 13; 20; 11];
Name = {'Van Buren'; 'Arthur'; 'Fillmore'; 'Garfield'; 'Polk'};
Party = categorical({'Democratic'; 'Republican'; 'Whig'; 'Republican'; 'Republican'});
T = table(Number,Party,'RowNames',Name)
T =
Number Party
______ __________
Van Buren 8 Democratic
Arthur 21 Republican
Fillmore 13 Whig
Garfield 20 Republican
Polk 11 Republican
Отображение его свойств, включая имена размеров. Значения по умолчанию для имен размеров: 'Row' и 'Variables'.
T.Properties
ans =
struct with fields:
Description: ''
UserData: []
DimensionNames: {'Row' 'Variables'}
VariableNames: {'Number' 'Party'}
VariableDescriptions: {}
VariableUnits: {}
RowNames: {5×1 cell}
Начиная с R2016b, можно назначить новые имена именам размеров и использовать их для доступа к данным таблицы. Имена измерений должны быть допустимыми идентификаторами MATLAB ® и не должны быть одними из зарезервированных имен .'Properties', 'RowNames', или 'VariableNames'.
Присвойте имя первому измерению и используйте его для доступа к именам строк таблицы.
T.Properties.DimensionNames{1} = 'Name';
T.Name
ans =
5×1 cell array
'Van Buren'
'Arthur'
'Fillmore'
'Garfield'
'Polk'
Создать новую табличную переменную с именем Name. При создании переменной таблица изменяет свое имя первого размера, чтобы предотвратить конфликт. Обновленное имя размера становится Name_1.
T{:,'Name'} = {'Martin'; 'Chester'; 'Millard'; 'James'; 'James'}
Warning: DimensionNames property was modified to avoid conflicting dimension and variable names:
'Name'. See Compatibility Considerations for Using Tables for more details. This will become an
error in a future release.
T =
Number Party Name
______ __________ _________
Van Buren 8 Democratic 'Martin'
Arthur 21 Republican 'Chester'
Fillmore 13 Whig 'Millard'
Garfield 20 Republican 'James'
Polk 11 Republican 'James'
T.Properties.DimensionNames
ans =
1×2 cell array
'Name_1' 'Data'
Аналогично, при назначении имени измерения, которое не является допустимым идентификатором MATLAB, имя изменяется.
T.Properties.DimensionNames{1} = 'Last Name';
T.Properties.DimensionNames
Warning: DimensionNames property was modified to make the name 'Last Name' a valid MATLAB
identifier. See Compatibility Considerations for Using Tables for more details. This will
become an error in a future release.
ans =
1×2 cell array
'LastName' 'Data'
В R2016b таблицы вызывают предупреждения, когда имена измерений не являются допустимыми идентификаторами или конфликтуют с именами переменных или зарезервированными именами, что позволяет продолжить работу с кодом и таблицами, созданными в предыдущих версиях. При возникновении таких предупреждений рекомендуется обновить код, чтобы избежать их.