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, eliminar y reorganizar variables de tabla

En este ejemplo se muestra cómo agregar, eliminar y reorganizar variables orientadas a columnas en una tabla. Puede Agregar, mover y eliminar variables de tabla mediante las funciones, y.addvarsmovevarsremovevars Como alternativas, también puede modificar las variables de tabla utilizando la sintaxis de punto o indexando en la tabla. Utilice las funciones y para dividir las variables multicolumnas y combinar varias variables en una.splitvarsmergevars Por último, puede reorientar una tabla para que las filas de la tabla se conviertan en variables de una tabla de salida, utilizando la función.rows2vars

También puede modificar las variables de tabla mediante el editor de variables.

Cargue datos de muestra y cree tablas

Cargue matrices de datos de ejemplo del archivo MAT.patients Mostrar los nombres y tamaños de las variables cargadas en el espacio de trabajo.

load patients whos -file patients
  Name                            Size            Bytes  Class      Attributes    Age                           100x1               800  double                  Diastolic                     100x1               800  double                  Gender                        100x1             12212  cell                    Height                        100x1               800  double                  LastName                      100x1             12416  cell                    Location                      100x1             15008  cell                    SelfAssessedHealthStatus      100x1             12340  cell                    Smoker                        100x1               100  logical                 Systolic                      100x1               800  double                  Weight                        100x1               800  double                

Cree dos tablas. Crear una tabla, con información recopilada de un cuestionario del paciente y crear otra tabla, con datos medidos de los pacientes.TT2 Cada tabla tiene 100 filas.

T = table(Age,Gender,Smoker); T2 = table(Height,Weight,Systolic,Diastolic);

Visualice las primeras cinco filas de cada tabla.

head(T,5)
ans=5×3 table
    Age     Gender     Smoker
    ___    ________    ______

    38     'Male'      true  
    43     'Male'      false 
    38     'Female'    false 
    40     'Female'    false 
    49     'Female'    false 

head(T2,5)
ans=5×4 table
    Height    Weight    Systolic    Diastolic
    ______    ______    ________    _________

      71       176        124          93    
      69       163        109          77    
      64       131        125          83    
      67       133        117          75    
      64       119        122          80    

Añadir variables concatenadas desde otra tabla

Agregue variables a la tabla mediante la concatenación horizontal con.TT2

T = [T T2];

Visualice las primeras cinco filas de.T

head(T,5)
ans=5×7 table
    Age     Gender     Smoker    Height    Weight    Systolic    Diastolic
    ___    ________    ______    ______    ______    ________    _________

    38     'Male'      true        71       176        124          93    
    43     'Male'      false       69       163        109          77    
    38     'Female'    false       64       131        125          83    
    40     'Female'    false       67       133        117          75    
    49     'Female'    false       64       119        122          80    

La tabla ahora tiene 7 variables y 100 filas.T

Si las tablas que está concatenando horizontalmente tienen nombres de fila, se concatenan las tablas haciendo coincidir los nombres de fila.horzcat Por lo tanto, las tablas deben usar los mismos nombres de fila, pero el orden de las filas no importa.

Agregar variable de espacio de trabajo a tabla

Agregue los nombres de los pacientes de la variable de espacio de trabajo antes de la primera variable de tabla.LastNameT Puede especificar cualquier ubicación en la tabla utilizando el nombre de una variable cerca de la nueva ubicación. Utilice comillas para referirse a los nombres de las variables de tabla. Sin embargo, no utilice comillas para los argumentos de entrada que son variables de espacio de trabajo.

T = addvars(T,LastName,'Before','Age'); head(T,5)
ans=5×8 table
     LastName     Age     Gender     Smoker    Height    Weight    Systolic    Diastolic
    __________    ___    ________    ______    ______    ______    ________    _________

    'Smith'       38     'Male'      true        71       176        124          93    
    'Johnson'     43     'Male'      false       69       163        109          77    
    'Williams'    38     'Female'    false       64       131        125          83    
    'Jones'       40     'Female'    false       67       133        117          75    
    'Brown'       49     'Female'    false       64       119        122          80    

También puede especificar ubicaciones en una tabla mediante números. Por ejemplo, la sintaxis equivalente que utiliza un número para especificar la ubicación es.T = addvars(T,LastName,'Before',1)

Añadir variables utilizando la sintaxis de puntos

Una forma alternativa de agregar nuevas variables de tabla es usar la sintaxis de puntos. Cuando se utiliza la sintaxis de puntos, siempre se agrega la nueva variable como la última variable de tabla. Puede Agregar una variable que tenga cualquier tipo de datos, siempre y cuando tenga el mismo número de filas que la tabla.

Cree una nueva variable para la presión arterial como una concatenación horizontal de las dos variables y.SystolicDiastolic Agréguelo a.T

T.BloodPressure = [Systolic Diastolic]; head(T,5)
ans=5×9 table
     LastName     Age     Gender     Smoker    Height    Weight    Systolic    Diastolic    BloodPressure
    __________    ___    ________    ______    ______    ______    ________    _________    _____________

    'Smith'       38     'Male'      true        71       176        124          93         124     93  
    'Johnson'     43     'Male'      false       69       163        109          77         109     77  
    'Williams'    38     'Female'    false       64       131        125          83         125     83  
    'Jones'       40     'Female'    false       67       133        117          75         117     75  
    'Brown'       49     'Female'    false       64       119        122          80         122     80  

ahora tiene 9 variables y 100 filas.T Una variable de tabla puede tener varias columnas. Por lo tanto, aunque tiene dos columnas, es una variable de tabla.BloodPressure

Agregue una nueva variable, en la tabla, que contenga el índice de masa corporal para cada paciente. es una función de altura y peso.BMITBMI Al calcular, puede hacer referencia a la y las variables que se encuentran en.BMIWeightHeightT

T.BMI = (T.Weight*0.453592)./(T.Height*0.0254).^2;

Los operadores y en el cálculo de indicar la división de elemento-sabio y la exponenciación, respectivamente../.^BMI

Visualice las primeras cinco filas de la tabla.T

head(T,5)
ans=5×10 table
     LastName     Age     Gender     Smoker    Height    Weight    Systolic    Diastolic    BloodPressure     BMI  
    __________    ___    ________    ______    ______    ______    ________    _________    _____________    ______

    'Smith'       38     'Male'      true        71       176        124          93         124     93      24.547
    'Johnson'     43     'Male'      false       69       163        109          77         109     77      24.071
    'Williams'    38     'Female'    false       64       131        125          83         125     83      22.486
    'Jones'       40     'Female'    false       67       133        117          75         117     75      20.831
    'Brown'       49     'Female'    false       64       119        122          80         122     80      20.426

Mover variable en tabla

Mueva la variable de tabla utilizando la función, de modo que sea después de la variable.BMImovevarsWeight Cuando especifique las variables de tabla por nombre, utilice comillas.

T = movevars(T,'BMI','After','Weight'); head(T,5)
ans=5×10 table
     LastName     Age     Gender     Smoker    Height    Weight     BMI      Systolic    Diastolic    BloodPressure
    __________    ___    ________    ______    ______    ______    ______    ________    _________    _____________

    'Smith'       38     'Male'      true        71       176      24.547      124          93         124     93  
    'Johnson'     43     'Male'      false       69       163      24.071      109          77         109     77  
    'Williams'    38     'Female'    false       64       131      22.486      125          83         125     83  
    'Jones'       40     'Female'    false       67       133      20.831      117          75         117     75  
    'Brown'       49     'Female'    false       64       119      20.426      122          80         122     80  

También puede especificar ubicaciones en una tabla mediante números. Por ejemplo, la sintaxis equivalente que utiliza un número para especificar la ubicación es.T = movevars(T,'BMI,'After',6) A menudo es más conveniente referirse a las variables por su nombre.

Mover variable de tabla mediante indexación

Como alternativa, puede mover las variables de tabla indexando. Puede indexar en una tabla utilizando la misma sintaxis que utiliza para indexar en una matriz.

Muévete para que esté al lado.BloodPressureBMI

T = T(:,[1:7 10 8 9]); head(T,5)
ans=5×10 table
     LastName     Age     Gender     Smoker    Height    Weight     BMI      BloodPressure    Systolic    Diastolic
    __________    ___    ________    ______    ______    ______    ______    _____________    ________    _________

    'Smith'       38     'Male'      true        71       176      24.547     124     93        124          93    
    'Johnson'     43     'Male'      false       69       163      24.071     109     77        109          77    
    'Williams'    38     'Female'    false       64       131      22.486     125     83        125          83    
    'Jones'       40     'Female'    false       67       133      20.831     117     75        117          75    
    'Brown'       49     'Female'    false       64       119      20.426     122     80        122          80    

En una tabla con muchas variables, a menudo es más conveniente utilizar la función.movevars

Eliminar variables

Para eliminar variables de tabla, utilice la función.removevars Elimine las variables de tabla y.SystolicDiastolic

T = removevars(T,{'Systolic','Diastolic'}); head(T,5)
ans=5×8 table
     LastName     Age     Gender     Smoker    Height    Weight     BMI      BloodPressure
    __________    ___    ________    ______    ______    ______    ______    _____________

    'Smith'       38     'Male'      true        71       176      24.547     124     93  
    'Johnson'     43     'Male'      false       69       163      24.071     109     77  
    'Williams'    38     'Female'    false       64       131      22.486     125     83  
    'Jones'       40     'Female'    false       67       133      20.831     117     75  
    'Brown'       49     'Female'    false       64       119      20.426     122     80  

Eliminar variable utilizando la sintaxis de puntos

Como alternativa, puede eliminar variables utilizando la sintaxis de puntos y la matriz vacía,.[] Quite la variable de la tabla.Age

T.Age = []; head(T,5)
ans=5×7 table
     LastName      Gender     Smoker    Height    Weight     BMI      BloodPressure
    __________    ________    ______    ______    ______    ______    _____________

    'Smith'       'Male'      true        71       176      24.547     124     93  
    'Johnson'     'Male'      false       69       163      24.071     109     77  
    'Williams'    'Female'    false       64       131      22.486     125     83  
    'Jones'       'Female'    false       67       133      20.831     117     75  
    'Brown'       'Female'    false       64       119      20.426     122     80  

Eliminar variable mediante indexación

También puede eliminar variables utilizando la indexación y la matriz vacía,.[] Quite la variable de la tabla.Gender

T(:,'Gender') = []; head(T,5)
ans=5×6 table
     LastName     Smoker    Height    Weight     BMI      BloodPressure
    __________    ______    ______    ______    ______    _____________

    'Smith'       true        71       176      24.547     124     93  
    'Johnson'     false       69       163      24.071     109     77  
    'Williams'    false       64       131      22.486     125     83  
    'Jones'       false       67       133      20.831     117     75  
    'Brown'       false       64       119      20.426     122     80  

Dividir y fusionar variables de tabla

Para dividir las variables de tabla de varias columnas en variables que tienen una columna, utilice las funciones.splitvars Divida la variable en dos variables.BloodPressure

T = splitvars(T,'BloodPressure','NewVariableNames',{'Systolic','Diastolic'}); head(T,5)
ans=5×7 table
     LastName     Smoker    Height    Weight     BMI      Systolic    Diastolic
    __________    ______    ______    ______    ______    ________    _________

    'Smith'       true        71       176      24.547      124          93    
    'Johnson'     false       69       163      24.071      109          77    
    'Williams'    false       64       131      22.486      125          83    
    'Jones'       false       67       133      20.831      117          75    
    'Brown'       false       64       119      20.426      122          80    

Del mismo modo, puede agrupar las variables de tabla relacionadas en una variable, utilizando la función.mergevars Combine y vuelva a una variable, y asigne un nombre.SystolicDiastolicBP

T = mergevars(T,{'Systolic','Diastolic'},'NewVariableName','BP'); head(T,5)
ans=5×6 table
     LastName     Smoker    Height    Weight     BMI          BP    
    __________    ______    ______    ______    ______    __________

    'Smith'       true        71       176      24.547    124     93
    'Johnson'     false       69       163      24.071    109     77
    'Williams'    false       64       131      22.486    125     83
    'Jones'       false       67       133      20.831    117     75
    'Brown'       false       64       119      20.426    122     80

Reorientar las filas para que se conviertan en variables

Puede reorientar las filas de una tabla o un cronograma, de modo que se conviertan en las variables de la tabla de salida, utilizando la función.rows2vars Sin embargo, si la tabla tiene variables de varias columnas, debe dividirlas antes de poder llamar.rows2vars

Reorientar las filas de.T Especifique que los nombres de los pacientes en son los nombres de las variables de tabla en la tabla de salida.T La primera variable de contiene los nombres de las variables de.T3T Cada variable restante de contiene los datos de la fila correspondiente de.T3T

T = splitvars(T,'BP','NewVariableNames',{'Systolic','Diastolic'}); T3 = rows2vars(T,'VariableNamesSource','LastName'); T3(:,1:5)
ans=6×5 table
    OriginalVariableNames    Smith     Johnson    Williams    Jones 
    _____________________    ______    _______    ________    ______

         'Smoker'                 1         0           0          0
         'Height'                71        69          64         67
         'Weight'               176       163         131        133
         'BMI'               24.547    24.071      22.486     20.831
         'Systolic'             124       109         125        117
         'Diastolic'             93        77          83         75

Puede utilizar la sintaxis de puntos para acceder a los datos del paciente como una matriz.T3 Sin embargo, si los valores de fila de una tabla de entrada no se pueden concatenar, las variables de la tabla de salida son matrices de celdas.

T3.Smith
ans = 6×1

    1.0000
   71.0000
  176.0000
   24.5467
  124.0000
   93.0000

Consulte también

| | | | | | |

Temas relacionados