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.

Agregar propiedades personalizadas a tablas y calendarios

En este ejemplo se muestra cómo agregar propiedades personalizadas a tablas y calendarios, establecer y acceder a sus valores y eliminarlos.

Todas las tablas y horarios tienen propiedades que contienen metadatos sobre ellos o sus variables. Puede acceder a estas propiedades a través de la Tobjeto, donde.Properties T es el nombre de la tabla o el horario. Por ejemplo, TDevuelve una matriz de celdas que contiene los nombres de las variables de.Properties.VariableNames T.

Las propiedades a las que accede mediante Tforman parte de las definiciones de los tipos de datos y..Propertiestabletimetable No puede Agregar o quitar estas propiedades predefinidas. Pero a partir de R2018b, puede Agregar y quitar sus propias propiedades modificando elcustom Tobjeto de una tabla o calendario..Properties.CustomProperties

Agregar propiedades

Leer datos de corte de energía en una tabla. Ordénese usando la primera variable que contiene fechas y horas,.OutageTime A continuación, muestre las tres primeras filas.

T = readtable('outages.csv'); T = sortrows(T,'OutageTime'); head(T,3)
ans=3×6 table
      Region          OutageTime        Loss     Customers     RestorationTime         Cause     
    ___________    ________________    ______    __________    ________________    ______________

    'SouthWest'    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'
    'MidWest'      2002-03-05 17:53    96.563    2.8666e+05    2002-03-10 14:41    'wind'        
    'MidWest'      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    'severe storm'

Mostrar sus propiedades. Estas son las propiedades que todas las tablas tienen en común. Tenga en cuenta que también hay un objeto, pero que por defecto no tiene propiedades.CustomProperties

T.Properties
ans =    TableProperties with properties:               Description: ''                 UserData: []           DimensionNames: {'Row'  'Variables'}            VariableNames: {1x6 cell}     VariableDescriptions: {}            VariableUnits: {}       VariableContinuity: []                 RowNames: {}         CustomProperties: No custom properties are set.       Use addprop and rmprop to modify CustomProperties.  

Para agregar propiedades personalizadas, utilice la función.addprop Especifique los nombres de las propiedades. Para cada propiedad, especifique también si tiene metadatos para toda la tabla (similar a la propiedad) o para sus variables (similar a la propiedad).DescriptionVariableNames Si la propiedad tiene metadatos de variable, su valor debe ser un vector cuya longitud sea igual al número de variables.

Agregue propiedades personalizadas que contengan un nombre de archivo de salida, un tipo de archivo e indicadores de las variables que desea trazar. La práctica recomendada es asignar la tabla de entrada como el argumento de salida de, de modo que las propiedades personalizadas forman parte de la misma tabla.addprop Especifique que el nombre de archivo de salida y el tipo de archivo son metadatos de tabla utilizando la opción.'table' Especifique que los indicadores de trazado son metadatos variables utilizando la opción.'variable'

T = addprop(T,{'OutputFileName','OutputFileType','ToPlot'}, ...               {'table','table','variable'}); T.Properties
ans =    TableProperties with properties:               Description: ''                 UserData: []           DimensionNames: {'Row'  'Variables'}            VariableNames: {1x6 cell}     VariableDescriptions: {}            VariableUnits: {}       VariableContinuity: []                 RowNames: {}     Custom Properties (access using t.Properties.CustomProperties.<name>):           OutputFileName: []           OutputFileType: []                   ToPlot: []  

Establecer y acceder a valores de propiedades personalizadas

Cuando se agregan propiedades personalizadas mediante, sus valores son matrices vacías de forma predeterminada.addprop Puede establecer y tener acceso a los valores de las propiedades personalizadas mediante la sintaxis de punto.

Establezca el nombre y el tipo del archivo de salida. Estas propiedades contienen metadatos para la tabla. A continuación, asigne una matriz lógica a la propiedad.ToPlot Esta propiedad contiene metadatos para las variables. En este ejemplo, los elementos del valor de la propiedad son para cada variable que se incluirán en un trazado y para cada variable que se excluirá.ToPlottruefalse

T.Properties.CustomProperties.OutputFileName = 'outageResults'; T.Properties.CustomProperties.OutputFileType = '.mat'; T.Properties.CustomProperties.ToPlot = [false false true true true false]; T.Properties
ans =    TableProperties with properties:               Description: ''                 UserData: []           DimensionNames: {'Row'  'Variables'}            VariableNames: {1x6 cell}     VariableDescriptions: {}            VariableUnits: {}       VariableContinuity: []                 RowNames: {}     Custom Properties (access using t.Properties.CustomProperties.<name>):           OutputFileName: 'outageResults'           OutputFileType: '.mat'                   ToPlot: [0 0 1 1 1 0]  

Trace variables desde una gráfica apilada utilizando la función.Tstackedplot Para trazar solo el, y los valores, utilice la propiedad personalizada como el segundo argumento de entrada.LossCustomersRestorationTimeToPlot

stackedplot(T,T.Properties.CustomProperties.ToPlot);

Al mover o eliminar variables de tabla, tanto las propiedades predefinidas como las personalizadas se reordenan para que sus valores se correspondan con las mismas variables. En este ejemplo, los valores de la propiedad personalizada permanecen alineados con las variables marcadas para el trazado, al igual que los valores de la propiedad predefinida permanecen alineados.ToPlotVariableNames

Quite la variable y visualice las propiedades.Customers

T.Customers = []; T.Properties
ans =    TableProperties with properties:               Description: ''                 UserData: []           DimensionNames: {'Row'  'Variables'}            VariableNames: {1x5 cell}     VariableDescriptions: {}            VariableUnits: {}       VariableContinuity: []                 RowNames: {}     Custom Properties (access using t.Properties.CustomProperties.<name>):           OutputFileName: 'outageResults'           OutputFileType: '.mat'                   ToPlot: [0 0 1 1 0]  

Convierta la tabla a un cronograma, utilizando los tiempos de interrupción como tiempos de fila. Mover al final de la tabla, y antes de la primera variable, utilizando la función.RegionRestorationTimemovevars Tenga en cuenta que las propiedades se reordenan apropiadamente. Los y variables todavía tienen indicadores para la inclusión en una trama.RestorationTimeLoss

T = table2timetable(T); T = movevars(T,'Region','After','Cause'); T = movevars(T,'RestorationTime','Before',1); T.Properties
ans =    TimetableProperties with properties:               Description: ''                 UserData: []           DimensionNames: {'OutageTime'  'Variables'}            VariableNames: {'RestorationTime'  'Loss'  'Cause'  'Region'}     VariableDescriptions: {}            VariableUnits: {}       VariableContinuity: []                 RowTimes: [1468x1 datetime]                StartTime: 2002-02-01 12:18               SampleRate: NaN                 TimeStep: NaN     Custom Properties (access using t.Properties.CustomProperties.<name>):           OutputFileName: 'outageResults'           OutputFileType: '.mat'                   ToPlot: [1 1 0 0]  

Quitar propiedades

Puede eliminar cualquiera o todas las propiedades personalizadas de una tabla mediante la función.rmprop Sin embargo, no se puede usar para quitar las propiedades predefinidas, porque esas propiedades forman parte de la definición del tipo de datos.T.Propertiestable

Quite las propiedades personalizadas y.OutputFileNameOutputFileType Mostrar las propiedades de la tabla restante.

T = rmprop(T,{'OutputFileName','OutputFileType'}); T.Properties
ans =    TimetableProperties with properties:               Description: ''                 UserData: []           DimensionNames: {'OutageTime'  'Variables'}            VariableNames: {'RestorationTime'  'Loss'  'Cause'  'Region'}     VariableDescriptions: {}            VariableUnits: {}       VariableContinuity: []                 RowTimes: [1468x1 datetime]                StartTime: 2002-02-01 12:18               SampleRate: NaN                 TimeStep: NaN     Custom Properties (access using t.Properties.CustomProperties.<name>):                   ToPlot: [1 1 0 0]  

Consulte también

| | | | | | | |

Temas relacionados