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.

Ventajas de usar tablas

Almacene convenientemente datos de tipo mixto en un solo contenedor

Puede usar el tipo de datos para recopilar propiedades de metadatos y datos de tipo mixto, como nombre de variable, nombres de fila, descripciones y unidades variables, en un solo contenedor.table Las tablas son adecuadas para datos tabulares o orientados a columnas que a menudo se almacenan como pilares en un archivo de texto o en una hoja de cálculo. Por ejemplo, puede utilizar una tabla para almacenar datos experimentales, con filas que representen diferentes observaciones y columnas que representen diferentes variables medidas.

Las tablas constan de filas y variables orientadas a columnas. Cada variable de una tabla puede tener un tipo de datos diferente y un tamaño diferente, pero cada variable debe tener el mismo número de filas.

Por ejemplo, cargue los datos de los pacientes de muestra.

load patients

A continuación, combine las variables del espacio de trabajo y en una única variable y convierta la variable del espacio de trabajo, desde una matriz de vectores de caracteres a una matriz categórica.SystolicDiastolicBloodPressureGender

BloodPressure = [Systolic Diastolic]; Gender = categorical(Gender);  whos('Gender','Age','Smoker','BloodPressure')
  Name                 Size            Bytes  Class          Attributes    Age                100x1               800  double                      BloodPressure      100x2              1600  double                      Gender             100x1               346  categorical                 Smoker             100x1               100  logical                   

Las variables,, y tienen tipos de datos variables y son candidatas a almacenar en una tabla, ya que todas tienen el mismo número de filas, 100.AgeBloodPressureGenderSmoker

Ahora, cree una tabla a partir de las variables y visualice las primeras cinco filas.

T = table(Gender,Age,Smoker,BloodPressure); T(1:5,:)
ans=5×4 table
    Gender    Age    Smoker    BloodPressure
    ______    ___    ______    _____________

    Male      38     true       124     93  
    Male      43     false      109     77  
    Female    38     false      125     83  
    Female    40     false      117     75  
    Female    49     false      122     80  

La tabla se muestra en formato tabular con los nombres de las variables en la parte superior.

Cada variable de una tabla es un tipo de datos único. Si añade una nueva fila a la tabla, MATLAB® fuerza la coherencia del tipo de datos entre los nuevos datos y las variables de tabla correspondientes. Por ejemplo, si intenta agregar información para un nuevo paciente donde la primera columna contiene la edad del paciente en lugar de sexo, como en la expresión, entonces recibirá el error:T(end+1,:) = {37,{'Female'},true,[130 84]}

Invalid RHS for assignment to a categorical array.

El error se produce porque MATLAB® no puede asignar datos numéricos, a la matriz categórica,.37Gender

Para comparar tablas con estructuras, considere la matriz de estructura, que es equivalente a la tabla,.StructArrayT

StructArray = table2struct(T)
StructArray = 100x1 struct array with fields:
    Gender
    Age
    Smoker
    BloodPressure

Las matrices de estructura organizan registros mediante campos con nombre. El valor de cada campo puede tener un tipo o tamaño de datos diferente. Ahora, mostrar los campos con nombre para el primer elemento de.StructArray

StructArray(1)
ans = struct with fields:
           Gender: Male
              Age: 38
           Smoker: 1
    BloodPressure: [124 93]

Los campos de una matriz de estructura son análogos a las variables de una tabla. Sin embargo, a diferencia de las tablas, no se puede exigir homogeneidad dentro de un campo. Por ejemplo, puede tener algunos valores de que son elementos de matriz categóricas, o, otros que son vectores de caracteres, o, y otros que son enteros, o.S.GenderMaleFemale'Male''Female'01

Ahora considere los mismos datos almacenados en una estructura, con cuatro campos cada uno conteniendo una variable de la tabla.scalar

ScalarStruct = struct(...     'Gender',{Gender},...     'Age',Age,...     'Smoker',Smoker,...     'BloodPressure',BloodPressure)
ScalarStruct = struct with fields:
           Gender: [100x1 categorical]
              Age: [100x1 double]
           Smoker: [100x1 logical]
    BloodPressure: [100x2 double]

A diferencia de las tablas, no se puede exigir que los datos sean rectangulares. Por ejemplo, el campo puede ser una longitud diferente a la de los otros campos.ScalarStruct.Age

Una tabla permite mantener la estructura rectangular (como una matriz de estructura) y exigir la homogeneidad de las variables (como los campos de una estructura escalar). Aunque las matrices de celdas no tienen campos con nombre, tienen muchas de las mismas desventajas que las matrices de estructura y las estructuras escalares. Si tiene datos rectangulares que son homogéneos en cada variable, considere la posibilidad de utilizar una tabla. A continuación, puede usar la indización numérica o con nombre, y puede usar las propiedades de la tabla para almacenar los metadatos.

Acceso a datos mediante la indexación numérica o con nombre

Puede indexar en una tabla mediante paréntesis, llaves o indexación de puntos. Los paréntesis permiten seleccionar un subconjunto de los datos de una tabla y conservar el contenedor de la tabla. Las llaves y la indexación de puntos le permiten extraer datos de una tabla. Dentro de cada método de indexación de tablas, puede especificar las filas o variables para tener acceso por nombre o por índice numérico.

Considere la tabla de ejemplo de arriba. Cada fila de la tabla, representa a un paciente diferente.T La variable de espacio de trabajo, contiene identificadores únicos para las filas 100.LastName Agregue nombres de fila a la tabla estableciendo la propiedad y mostrar las primeras cinco filas de la tabla actualizada.RowNamesLastName

T.Properties.RowNames = LastName; T(1:5,:)
ans=5×4 table
                Gender    Age    Smoker    BloodPressure
                ______    ___    ______    _____________

    Smith       Male      38     true       124     93  
    Johnson     Male      43     false      109     77  
    Williams    Female    38     false      125     83  
    Jones       Female    40     false      117     75  
    Brown       Female    49     false      122     80  

Además de etiquetar los datos, puede usar nombres de fila y variable para tener acceso a los datos de la tabla. Por ejemplo, utilice la indexación con nombre para mostrar la edad y la presión arterial de los pacientes y.WilliamsBrown

T({'Williams','Brown'},{'Age','BloodPressure'})
ans=2×2 table
                Age    BloodPressure
                ___    _____________

    Williams    38      125     83  
    Brown       49      122     80  

Ahora, utilice la indexación numérica para devolver una subtabla equivalente. Devuelva la tercera y la quinta fila de la segunda y cuarta variables.

T(3:2:5,2:2:4)
ans=2×2 table
                Age    BloodPressure
                ___    _____________

    Williams    38      125     83  
    Brown       49      122     80  

Con las matrices o estructuras de celdas, no tiene la misma flexibilidad para usar la indización numérica o con nombre.

  • Con una matriz de celdas, debe usar para buscar los datos con nombre deseados y, a continuación, puede indexar en la matriz.strcmp

  • Con una estructura escalar o una matriz de estructura, no es posible hacer referencia a un campo por número. Además, con una estructura escalar, no se puede seleccionar fácilmente un subconjunto de variables o un subconjunto de observaciones. Con una matriz de estructura, puede seleccionar un subconjunto de observaciones, pero no puede seleccionar un subconjunto de variables.

  • Con una tabla, puede tener acceso a los datos por índice con nombre o por índice numérico. Además, puede seleccionar fácilmente un subconjunto de variables y un subconjunto de filas.

Para obtener más información sobre la indexación de tablas, consulte.Acceda a los datos de una tabla

Utilice propiedades de tabla para almacenar metadatos

Además de almacenar datos, las tablas tienen propiedades para almacenar metadatos, como nombres de variables, nombres de fila, descripciones y unidades variables. Puede tener acceso a una propiedad mediante, donde es el nombre de la tabla y es una de las propiedades de la tabla.T.Properties.PropNameTPropName

Por ejemplo, agregue una descripción de la tabla, descripciones de variables y unidades variables para.Age

T.Properties.Description = 'Simulated Patient Data';  T.Properties.VariableDescriptions = ...     {'Male or Female' ...     '' ...     'true or false' ...     'Systolic/Diastolic'};  T.Properties.VariableUnits{'Age'} = 'Yrs';

Los vectores de caracteres vacíos individuales dentro de la matriz de celdas para indicar que la variable correspondiente no tiene una descripción.VariableDescriptions Para obtener más información, consulte la sección Propiedades de.table

Para imprimir un resumen de tabla, utilice la función.summary

summary(T)
Description:  Simulated Patient Data  Variables:      Gender: 100x1 categorical          Properties:             Description:  Male or Female         Values:              Female       53                Male         47         Age: 100x1 double          Properties:             Units:  Yrs         Values:              Min        25               Median     39               Max        50        Smoker: 100x1 logical          Properties:             Description:  true or false         Values:              True        34                False       66         BloodPressure: 100x2 double          Properties:             Description:  Systolic/Diastolic         Values:                       BloodPressure_1    BloodPressure_2                       _______________    _______________              Min             109                 68                   Median          122               81.5                   Max             138                 99       

Las estructuras y matrices de celdas no tienen propiedades para almacenar metadatos.

Consulte también

|

Temas relacionados