Contenido principal

Renombrar y describir variables de tabla

Las tablas, que almacenan datos en variables orientadas a columnas, proporcionan propiedades que pueden almacenar información más descriptiva sobre los datos. Por ejemplo, los nombres de variables se almacenan en una propiedad, de manera que si desea renombrar variables para que sean más descriptivas, puede cambiar una propiedad de la tabla para hacerlo. Este ejemplo muestra cómo acceder a las propiedades de las tablas y cambiarlas, como los nombres, descripciones y unidades de las variables de la tabla. El ejemplo también muestra cómo generar un resumen de una tabla para ver las propiedades con estadísticas sobre los datos en las variables de la tabla.

Crear una tabla a partir de datos de muestra

Cree una tabla usando un subconjunto de los datos de pacientes de muestra del archivo patients.mat.

load patients.mat
BloodPressure = [Systolic Diastolic];
LastName = string(LastName);
T = table(LastName,Age,Height,Weight,Smoker,BloodPressure)
T=100×6 table
     LastName     Age    Height    Weight    Smoker    BloodPressure
    __________    ___    ______    ______    ______    _____________

    "Smith"       38       71       176      true       124     93  
    "Johnson"     43       69       163      false      109     77  
    "Williams"    38       64       131      false      125     83  
    "Jones"       40       67       133      false      117     75  
    "Brown"       49       64       119      false      122     80  
    "Davis"       46       68       142      false      121     70  
    "Miller"      33       64       142      true       130     88  
    "Wilson"      40       68       180      false      115     82  
    "Moore"       28       68       183      false      115     78  
    "Taylor"      31       66       132      false      118     86  
    "Anderson"    45       68       128      false      114     77  
    "Thomas"      42       66       137      false      115     68  
    "Jackson"     25       71       174      false      127     74  
    "White"       39       72       202      true       130     95  
    "Harris"      36       65       129      false      114     79  
    "Martin"      48       71       181      true       130     92  
      ⋮

Acceder a las propiedades de una tabla

Las tablas tienen propiedades que puede utilizar para describir la tabla como un conjunto, así como sus variables individuales.

Las tablas almacenan sus propiedades en un objeto Properties. Para acceder a las propiedades de una tabla, utilice la notación de puntos.

T.Properties
ans = 
  TableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'LastName'  'Age'  'Height'  'Weight'  'Smoker'  'BloodPressure'}
           VariableTypes: ["string"    "double"    "double"    "double"    "logical"    "double"]
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

También puede usar la notación de puntos para acceder a una propiedad concreta. Por ejemplo, acceda a la propiedad que almacena el arreglo de nombres de variables.

T.Properties.VariableNames
ans = 1×6 cell
    {'LastName'}    {'Age'}    {'Height'}    {'Weight'}    {'Smoker'}    {'BloodPressure'}

Renombrar variables de tabla

Los nombres de variables son más útiles cuando son descriptivos. Por ello, se recomienda renombrar las variables de las tablas.

La forma recomendada de renombrar las variables es utilizar la función renamevars. Por ejemplo, renombre la variable LastName de T a PatientName.

T = renamevars(T,"LastName","PatientName")
T=100×6 table
    PatientName    Age    Height    Weight    Smoker    BloodPressure
    ___________    ___    ______    ______    ______    _____________

    "Smith"        38       71       176      true       124     93  
    "Johnson"      43       69       163      false      109     77  
    "Williams"     38       64       131      false      125     83  
    "Jones"        40       67       133      false      117     75  
    "Brown"        49       64       119      false      122     80  
    "Davis"        46       68       142      false      121     70  
    "Miller"       33       64       142      true       130     88  
    "Wilson"       40       68       180      false      115     82  
    "Moore"        28       68       183      false      115     78  
    "Taylor"       31       66       132      false      118     86  
    "Anderson"     45       68       128      false      114     77  
    "Thomas"       42       66       137      false      115     68  
    "Jackson"      25       71       174      false      127     74  
    "White"        39       72       202      true       130     95  
    "Harris"       36       65       129      false      114     79  
    "Martin"       48       71       181      true       130     92  
      ⋮

Otra forma de renombrar las variables es acceder a la propiedad T.Properties.VariableNames. Por ejemplo, renombre la variable BloodPressure.

T.Properties.VariableNames("BloodPressure") = "BP"
T=100×6 table
    PatientName    Age    Height    Weight    Smoker        BP    
    ___________    ___    ______    ______    ______    __________

    "Smith"        38       71       176      true      124     93
    "Johnson"      43       69       163      false     109     77
    "Williams"     38       64       131      false     125     83
    "Jones"        40       67       133      false     117     75
    "Brown"        49       64       119      false     122     80
    "Davis"        46       68       142      false     121     70
    "Miller"       33       64       142      true      130     88
    "Wilson"       40       68       180      false     115     82
    "Moore"        28       68       183      false     115     78
    "Taylor"       31       66       132      false     118     86
    "Anderson"     45       68       128      false     114     77
    "Thomas"       42       66       137      false     115     68
    "Jackson"      25       71       174      false     127     74
    "White"        39       72       202      true      130     95
    "Harris"       36       65       129      false     114     79
    "Martin"       48       71       181      true      130     92
      ⋮

Cambiar otras propiedades

Para cambiar cualquier otra propiedad de una tabla, debe utilizar la notación de puntos. En general, puede utilizar las otras propiedades para anotar en la tabla información que la describa a ella o a las variables.

Por ejemplo, añada una descripción de la tabla en conjunto. Asigne una cadena a la propiedad Description. Además, añada unidades que estén asociadas a las variables de la tabla. Asigne un arreglo de cadenas de las unidades a la propiedad VariableUnits. Aunque la propiedad almacena un arreglo de celdas de vectores de caracteres, es posible asignar valores usando un arreglo de cadenas. Una cadena vacía individual dentro del arreglo de cadenas indica que la variable correspondiente no tiene unidades.

T.Properties.Description = "Table of Data for 100 Patients";
T.Properties.VariableUnits = ["","yr","in","lbs","","mm Hg"];
T.Properties
ans = 
  TableProperties with properties:

             Description: 'Table of Data for 100 Patients'
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'PatientName'  'Age'  'Height'  'Weight'  'Smoker'  'BP'}
           VariableTypes: ["string"    "double"    "double"    "double"    "logical"    "double"]
    VariableDescriptions: {}
           VariableUnits: {''  'yr'  'in'  'lbs'  ''  'mm Hg'}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

También puede asignar valores indexando en propiedades. Por ejemplo, añada descripciones únicamente para las variables PatientName y BP. Puede indexar por nombre o por la posición que una variable tiene en la tabla.

T.Properties.VariableDescriptions(1) = "Patient last name";
T.Properties.VariableDescriptions("BP") = "Systolic/Diastolic";
T.Properties
ans = 
  TableProperties with properties:

             Description: 'Table of Data for 100 Patients'
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'PatientName'  'Age'  'Height'  'Weight'  'Smoker'  'BP'}
           VariableTypes: ["string"    "double"    "double"    "double"    "logical"    "double"]
    VariableDescriptions: {'Patient last name'  ''  ''  ''  ''  'Systolic/Diastolic'}
           VariableUnits: {''  'yr'  'in'  'lbs'  ''  'mm Hg'}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Eliminar valores de las propiedades

No puede eliminar propiedades de una tabla. Sin embargo, puede eliminar los valores almacenados en las propiedades de la tabla.

Elimine la descripción de la variable LastName. Las descripciones son texto, por lo que puede eliminarlas asignando una cadena vacía como descripción nueva.

T.Properties.VariableDescriptions(1) = "";
T.Properties
ans = 
  TableProperties with properties:

             Description: 'Table of Data for 100 Patients'
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'PatientName'  'Age'  'Height'  'Weight'  'Smoker'  'BP'}
           VariableTypes: ["string"    "double"    "double"    "double"    "logical"    "double"]
    VariableDescriptions: {''  ''  ''  ''  ''  'Systolic/Diastolic'}
           VariableUnits: {''  'yr'  'in'  'lbs'  ''  'mm Hg'}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Elimine todas las descripciones en VariableDescriptions. Para eliminar todos los valores almacenados en una propiedad de tabla, asigne un arreglo vacío.

  • Si la propiedad almacena texto en un arreglo de celdas, asigne {}.

  • Si la propiedad almacena valores numéricos u otros tipos de valores en un arreglo, asigne [].

T.Properties.VariableDescriptions = {};
T.Properties
ans = 
  TableProperties with properties:

             Description: 'Table of Data for 100 Patients'
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'PatientName'  'Age'  'Height'  'Weight'  'Smoker'  'BP'}
           VariableTypes: ["string"    "double"    "double"    "double"    "logical"    "double"]
    VariableDescriptions: {}
           VariableUnits: {''  'yr'  'in'  'lbs'  ''  'mm Hg'}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

En la sección siguiente, vuelva a añadir descripciones de variables a la tabla T.

T.Properties.VariableDescriptions = ["Patient name","","","","True if patient smokes","Systolic and diastolic readings"];
T.Properties
ans = 
  TableProperties with properties:

             Description: 'Table of Data for 100 Patients'
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'PatientName'  'Age'  'Height'  'Weight'  'Smoker'  'BP'}
           VariableTypes: ["string"    "double"    "double"    "double"    "logical"    "double"]
    VariableDescriptions: {'Patient name'  ''  ''  ''  'True if patient smokes'  'Systolic and diastolic readings'}
           VariableUnits: {''  'yr'  'in'  'lbs'  ''  'mm Hg'}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Resumir datos y propiedades de variables de tablas

Puede generar un resumen de una tabla para ver sus propiedades con estadísticas de cada variable. Para generar un resumen, utilice la función summary. El resumen muestra la descripción de la tabla y las descripciones y unidades de cada variable. El resumen también muestra estadísticas de las variables de la tabla cuyos tipos de datos admitan los cálculos requeridos.

summary(T)
T: 100×6 table

Description: Table of Data for 100 Patients

Variables:

    PatientName: string (Patient name)
    Age: double (yr)
    Height: double (in)
    Weight: double (lbs)
    Smoker: logical (34 true, True if patient smokes)
    BP: 2-column double (mm Hg, Systolic and diastolic readings)

Statistics for applicable variables:

                   NumMissing      Min         Median         Max          Mean            Std    

    PatientName        0                                                                          
    Age                0            25              39         50         38.2800         7.2154  
    Height             0            60              67         72         67.0700         2.8365  
    Weight             0           111        142.5000        202             154        26.5714  
    BP(:,1)            0           109             122        138        122.7800         6.7128  
    BP(:,2)            0            68         81.5000         99         82.9600         6.9325  

También puede almacenar el resumen en una estructura en lugar de visualizarlo.

S = summary(T)
S = struct with fields:
    PatientName: [1×1 struct]
            Age: [1×1 struct]
         Height: [1×1 struct]
         Weight: [1×1 struct]
         Smoker: [1×1 struct]
             BP: [1×1 struct]

Cada campo de S contiene una descripción de una variable de T.

S.BP
ans = struct with fields:
           Size: [100 2]
           Type: 'double'
    Description: 'Systolic and diastolic readings'
          Units: 'mm Hg'
     Continuity: []
     NumMissing: [0 0]
            Min: [109 68]
         Median: [122 81.5000]
            Max: [138 99]
           Mean: [122.7800 82.9600]
            Std: [6.7128 6.9325]

Consulte también

| |

Temas