Main Content

Agregar y eliminar filas de una tabla

Este ejemplo muestra cómo agregar y eliminar filas en una tabla. También puede editar tablas utilizando el editor de variables.

Cargar datos de muestra

Cargue los datos de muestra de los pacientes y cree una tabla T.

load patients
T = table(LastName,Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
size(T)
ans = 1×2

   100     8

La tabla, T, tiene 100 filas y ocho variables.

Agregar filas por concatenación

Lea datos de más pacientes a partir de un archivo delimitado por comas, morePatients.csv, en una tabla T2. Después, añada las filas de T2 al final de la tabla T.

T2 = readtable('morePatients.csv');
Tnew = [T;T2];
size(Tnew)
ans = 1×2

   104     8

La tabla Tnew tiene 104 filas. A fin de concatenar verticalmente dos tablas, ambas deben tener el mismo número de variables con los mismos nombres. Si los nombres de las variables son distintos, puede asignar directamente nuevas filas en una tabla a filas de otra tabla. Por ejemplo, T(end+1:end+4,:) = T2.

Agregar filas de un arreglo de celdas

Para añadir nuevas filas almacenadas en un arreglo de celdas, concatene verticalmente el arreglo de celdas al final de la tabla. Puede concatenar directamente a partir de un arreglo de celdas cuando tiene el número correcto de columnas y el contenido de sus celdas pueden concatenarse en las variables correspondientes de la tabla.

cellPatients = {'Trujillo','Male',42,70,158,0,116,83;
                'Falk','Female',28,62,125,1,120,71};
Tnew = [Tnew;cellPatients];
size(Tnew)
ans = 1×2

   106     8

También puede convertir un arreglo de celdas en una tabla utilizando la función cell2table.

Agregar filas de una estructura

También puede añadir nuevas filas almacenadas en una estructura. Convierta la estructura en una tabla y, a continuación, concatene las tablas.

structPatients(1,1).LastName = 'George';
structPatients(1,1).Gender = 'Nonbinary';
structPatients(1,1).Age = 45;
structPatients(1,1).Height = 76;
structPatients(1,1).Weight = 182;
structPatients(1,1).Smoker = 1;
structPatients(1,1).Systolic = 132;
structPatients(1,1).Diastolic = 85;

structPatients(2,1).LastName = 'Russo';
structPatients(2,1).Gender = 'Female';
structPatients(2,1).Age = 29;
structPatients(2,1).Height = 58;
structPatients(2,1).Weight = 120;
structPatients(2,1).Smoker = 0;
structPatients(2,1).Systolic = 112;
structPatients(2,1).Diastolic = 70;

Tnew = [Tnew;struct2table(structPatients)];
size(Tnew)
ans = 1×2

   108     8

Omitir filas duplicadas

Para omitir filas duplicadas en una tabla, utilice la función unique.

Tnew = unique(Tnew);
size(Tnew)
ans = 1×2

   107     8

unique eliminó dos filas duplicadas.

Eliminar filas por número de fila

Elimine las filas 18, 20 y 21 de la tabla.

Tnew([18,20,21],:) = [];
size(Tnew)
ans = 1×2

   104     8

Ahora la tabla contiene información de 103 pacientes.

Eliminar filas por nombre de fila

Primero, especifique la variable de los identificadores, LastName, como nombres de filas. Después, elimine la variable, LastName, de Tnew. Finalmente, utilice el nombre de la fila para indexar y eliminar filas.

Tnew.Properties.RowNames = Tnew.LastName;
Tnew.LastName = [];
Tnew('Smith',:) = [];
size(Tnew)
ans = 1×2

   103     7

Ahora la tabla tiene una fila y una variable menos.

Buscar filas que se desea eliminar

También puede buscar observaciones en la tabla. Por ejemplo, elimine filas para pacientes de menos de 30 años de edad.

toDelete = Tnew.Age < 30;
Tnew(toDelete,:) = [];
size(Tnew)
ans = 1×2

    86     7

Ahora la tabla tiene 17 filas menos.

Consulte también

| | | |

Temas relacionados