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.

Acceda a los datos de una tabla

Formas de indexar en una tabla

Una tabla es un contenedor para almacenar variables orientadas a columnas que tienen el mismo número de filas. 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.

Si usa llaves, la matriz resultante es la concatenación horizontal de las variables de tabla especificadas que contienen solo las filas especificadas. Los tipos de datos de todas las variables especificadas deben ser compatibles para la concatenación. A continuación, puede realizar cálculos mediante funciones.MATLAB®

La indexación de puntos extrae datos de una variable de tabla. El resultado es una matriz del mismo tipo de datos que la variable extraída. Puede seguir la indexación de puntos con paréntesis para especificar un subconjunto de filas para extraer de una variable.

concatenan horizontalmente todas las variables de tabla en una matriz. equivale a.T.VariablesT.VariablesT{:,:}

Para subíndice en una tabla y seleccionar variables de un tipo especificado, utilice la función.vartype

Resumen de los métodos de indexación de tablas

Considere una mesa,.T

Tipo de indexaciónResultadoSintaxisFilasVariables
ParenthesesMesaT(rows,vars)

Una o más filas, especificadas por rows

Una o más variables, especificadas por vars

Curly Bracesdatos extraídosT{rows,vars}

Una o más filas, especificadas por rows

Una o más variables, especificadas por vars

Dot Indexingdatos extraídos

T.var

T.(varindex)

Todas las filas

Una variable, especificada por var (un nombre) o por varindex (un número)

Dot Indexingdatos extraídos

T.var(rows)

Una o más filas, especificadas por rows

Una variable, especificada por var (un nombre)

Variables Propertydatos extraídos

T.Variables

Todas las filas

Todas las variables cuando se pueden concatenar horizontalmente en una matriz

Subscripting by Variable TypeMesa

S = vartype(type);

T(rows,S)

Una o más filas, especificadas por rows

Una o más variables de la type (por ejemplo,)'numeric'

Subscripting by Variable Typedatos extraídos

S = vartype(type);

T{rows,S}

Una o más filas, especificadas por rows

Una o más variables de la type (por ejemplo,)'numeric'

Cómo especificar filas para acceder a

Al indexar en una tabla con paréntesis, llaves o indexación de puntos, puede especificar rows como dos puntos, índices numéricos o expresiones lógicas. Además, puede indizar por nombre mediante un nombre de fila única o una matriz de celdas de nombres de fila.

Una expresión lógica puede contener llaves o indexación de puntos para extraer datos de los que se puede definir el subconjunto de filas. Por ejemplo, devuelve una matriz lógica con Logical () para las filas donde el valor de la variable es mayor que cero.rows = T.Var2>0true1Var2

Cómo especificar variables para acceder a

Al indexar en una tabla con paréntesis o llaves, puede especificar vars como dos puntos, índices numéricos, expresiones lógicas, un único nombre de variable, una matriz de celdas de nombres de variables o como la salida de la función..vartype

Al utilizar la indexación de puntos, debe especificar una única variable para acceder. Para un único nombre de variable, utilice T.var. Para un único índice de variable, especificado como un entero positivo, utilice T.(varindex).

Crear tabla a partir de subconjunto de tabla más grande

En este ejemplo se muestra cómo crear una tabla a partir de un subconjunto de una tabla más grande.

Cargue datos de muestra

Cargue los datos de los pacientes de muestra y cree una tabla. Utilice los identificadores únicos como nombres de fila.LastName

load patients  patients = table(Age,Gender,Height,Weight,Smoker,...     'RowNames',LastName);

La tabla, contiene 100 filas y 5 variables.patients

Vea el tipo de datos, la descripción, las unidades y otras estadísticas descriptivas para cada variable utilizando para resumir la tabla.summary

summary(patients)
Variables:      Age: 100x1 double          Values:              Min        25               Median     39               Max        50        Gender: 100x1 cell array of character vectors      Height: 100x1 double          Values:              Min          60                Median       67                Max          72         Weight: 100x1 double          Values:              Min          111               Median     142.5               Max          202        Smoker: 100x1 logical          Values:              True        34                False       66    

Índice utilizando índices numéricos

Cree una subtabla que contenga las cinco primeras filas y todas las variables de la tabla,.patients Utilice la indexación numérica dentro de los paréntesis para especificar las filas y variables deseadas. Esto es similar a la indexación con matrices numéricas.

T1 = patients(1:5,:)
T1=5×5 table
                Age     Gender     Height    Weight    Smoker
                ___    ________    ______    ______    ______

    Smith       38     'Male'        71       176      true  
    Johnson     43     'Male'        69       163      false 
    Williams    38     'Female'      64       131      false 
    Jones       40     'Female'      67       133      false 
    Brown       49     'Female'      64       119      false 

es una mesa de 5 por 5.T1 Además de los índices numéricos, puede utilizar nombres de fila o variable dentro de los paréntesis. En este caso, el uso de índices de fila y dos puntos es más compacto que el uso de nombres de fila o variable.

Índice utilizando nombres

Seleccione todos los datos para los pacientes con los apellidos y.'Adams''Brown' En este caso, es más sencillo usar los nombres de fila que usar el índice numérico.

T2 = patients({'Adams','Brown'},:)
T2=2×5 table
             Age     Gender     Height    Weight    Smoker
             ___    ________    ______    ______    ______

    Adams    48     'Female'      66       137      false 
    Brown    49     'Female'      64       119      false 

es una mesa de 2 por 5.T2

Índice mediante una expresión lógica

Cree una nueva tabla, que contenga el sexo, la estatura y el peso de los pacientes menores de 30 años.T3 Seleccione solo las filas en las que el valor de la variable sea inferior a 30.Age

Utilice la notación de puntos para extraer datos de una variable de tabla y una expresión lógica para definir el subconjunto de filas en función de los datos extraídos.

rows = patients.Age<30; vars = {'Gender','Height','Weight'};

es una matriz lógica de 100 por 1 que contiene Logical () para las filas en las que el valor de la variable, es menor que 30.rowstrue1Age

Utilice paréntesis para devolver una tabla que contenga el subconjunto deseado de los datos.

T3 = patients(rows,vars)
T3=15×3 table
                  Gender     Height    Weight
                 ________    ______    ______

    Moore        'Male'        68       183  
    Jackson      'Male'        71       174  
    Garcia       'Female'      69       131  
    Walker       'Female'      65       123  
    Hall         'Male'        70       189  
    Young        'Female'      63       114  
    Hill         'Female'      64       138  
    Rivera       'Female'      63       130  
    Cooper       'Female'      65       127  
    Cox          'Female'      66       111  
    Howard       'Female'      68       134  
    James        'Male'        66       186  
    Jenkins      'Male'        69       189  
    Perry        'Female'      64       120  
    Alexander    'Male'        69       171  

es una mesa de 15 por 3.T3

Crear matriz a partir del contenido de la tabla

En este ejemplo se muestra cómo extraer el contenido de una tabla mediante llaves o indexación de puntos.

Cargue datos de muestra

Cargue los datos de los pacientes de muestra y cree una tabla. Utilice los identificadores únicos como nombres de fila.LastName

load patients  patients = table(Age,Gender,Height,Weight,Smoker,...     'RowNames',LastName);

La tabla, contiene 100 filas y 5 variables.patients

Extraiga varias filas y varias variables

Extraiga datos de varias variables de la tabla mediante llaves.patients Puesto que la indexación de puntos extrae datos de una sola variable a la vez, las llaves son más convenientes cuando se desea extraer más de una variable.

Extraiga la altura y el peso de los primeros cinco pacientes. Utilice índices numéricos para seleccionar el subconjunto de filas, y nombres de variables para seleccionar el subconjunto de variables,.1:5{Height,Weight}

A = patients{1:5,{'Height','Weight'}}
A = 5×2

    71   176
    69   163
    64   131
    67   133
    64   119

es una matriz numérica de 5 por 2.A

Extraer datos de una variable

Utilice la indexación de puntos para extraer fácilmente el contenido de una sola variable. Trace un histograma de los datos numéricos en la variable,.Weight

figure() histogram(patients.Weight) title(' Patient Weight')

es un vector de columna de doble precisión con 100 filas.patients.Weight Alternativamente, puede usar llaves, para extraer todas las filas de la variable.patients{:,'Weight'}Weight

Para especificar un subconjunto de filas para una sola variable, puede seguir la indexación de puntos con paréntesis o llaves. Extraiga las alturas de los pacientes no fumadores menores de 30 años.

Utilice la notación de puntos para extraer datos de variables de tabla y una expresión lógica para definir el subconjunto de filas en función de los datos extraídos.

rows = patients.Smoker==false & patients.Age<30;

Utilice la notación de puntos para extraer las filas deseadas de la variable,.Height

patients.Height(rows)
ans = 11×1

    68
    71
    70
    63
    64
    63
    65
    66
    68
    66
      ⋮

La salida es una matriz numérica de 11 por 1. Alternativamente, puede especificar la única variable, entre llaves para extraer los datos deseados,.Heightpatients{rows,'Height'}

Consulte también

| |

Ejemplos relacionados

Más acerca de