Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Cambios en la propiedad DimensionNames en R2016b

El tipo de datos es adecuado para recopilar datos heterogéneos orientados a columnas en un único contenedor.table Las tablas también contienen propiedades de metadatos como nombres de variables, nombres de fila, nombres de dimensión, descripciones y unidades variables. A partir de R2016b, puede utilizar los nombres de dimensión para acceder a los datos de la tabla y a los metadatos mediante el subsubscripción de puntos. Para ello, los nombres de las dimensiones deben cumplir los mismos requisitos que los nombres de las variables. Para la compatibilidad con versiones anteriores, las tablas aplican esas restricciones modificando automáticamente los nombres de dimensión cuando sea necesario.

Cree una tabla que tenga nombres de fila y de variables.

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 

Mostrar sus propiedades, incluidos los nombres de las dimensiones. Los valores predeterminados de los nombres de dimensión son y.'Row''Variables'

T.Properties 
ans =     struct with fields:               Description: ''                 UserData: []           DimensionNames: {'Row'  'Variables'}            VariableNames: {'Number'  'Party'}     VariableDescriptions: {}            VariableUnits: {}                 RowNames: {5×1 cell} 

A partir de R2016b, puede asignar nuevos nombres a los nombres de dimensión y utilizarlos para acceder a los datos de la tabla. Los nombres de dimensión deben ser identificadores válidos y no deben ser uno de los nombres reservados, o.MATLAB®'Properties''RowNames''VariableNames'

Asigne un nuevo nombre al nombre de la primera dimensión y utilírelo para acceder a los nombres de fila de la tabla.

T.Properties.DimensionNames{1} = 'Name'; T.Name 
ans =    5×1 cell array      'Van Buren'     'Arthur'     'Fillmore'     'Garfield'     'Polk' 

Cree una nueva variable de tabla llamada.Name Cuando se crea la variable, la tabla modifica su primer nombre de dimensión para evitar un conflicto. El nombre de dimensión actualizado se convierte.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' 

De forma similar, si asigna un nombre de dimensión que no es un identificador válido, se modifica el nombre.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' 

En R2016b, las tablas plantean advertencias cuando los nombres de dimensión no son identificadores válidos, o entran en conflicto con nombres de variables o nombres reservados, por lo que puede seguir trabajando con código y tablas creadas con versiones anteriores. Si encuentra estas advertencias, se recomienda que actualice el código para evitarlos.