Ajouter et supprimer des lignes de table
Cet exemple montre comment ajouter et supprimer des lignes dans une table. Vous pouvez également éditer des tables avec l’éditeur de variables.
Charger des échantillons de données
Chargez les échantillons de données des patients et créez une table T
.
load patients
T = table(LastName,Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
size(T)
ans = 1×2
100 8
La table, T
, compte 100 lignes et huit variables.
Ajouter des lignes par concaténation
Lisez les données d’autres patients depuis un fichier séparé par des virgules, morePatients.csv
, dans une table, T2
. Ensuite, ajoutez les lignes de T2
au bas de la table T.
T2 = readtable('morePatients.csv');
Tnew = [T;T2];
size(Tnew)
ans = 1×2
104 8
La table Tnew
compte 104 lignes. Pour concaténer deux tables verticalement, les deux tables doivent comporter le même nombre de variables, et celles-ci doivent avoir les mêmes noms. Si les noms de variables sont différents, vous pouvez affecter directement les nouvelles lignes d’une table à des lignes d’une autre table. Par exemple, T(end+1:end+4,:) = T2
.
Ajouter des lignes à partir d’un cell array
Pour ajouter de nouvelles lignes stockées dans un cell array, concaténez verticalement le cell array au bas de la table. Vous pouvez concaténer directement à partir d’un cell array quand il compte le bon nombre de colonnes et que le contenu de ses cellules peut être concaténé dans les variables de table correspondantes.
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
Vous pouvez également convertir un cell array en table avec la fonction cell2table
.
Ajouter des lignes à partir d’une structure
Vous pouvez également ajouter de nouvelles lignes stockées dans une structure. Convertissez la structure en table, puis concaténez les tables.
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
Omettre les lignes en doublon
Pour omettre les lignes en doublon d’une table, utilisez la fonction unique
.
Tnew = unique(Tnew); size(Tnew)
ans = 1×2
107 8
unique
a supprimé deux lignes en doublon.
Supprimer des lignes par numéro de ligne
Supprimez les lignes 18, 20 et 21 de la table.
Tnew([18,20,21],:) = []; size(Tnew)
ans = 1×2
104 8
La table contient maintenant des informations sur 103 patients.
Supprimer des lignes par nom de ligne
D’abord, spécifiez la variable des identificateurs, LastName
, en tant que noms de ligne. Ensuite, supprimez la variable, LastName
, de Tnew
. Enfin, utilisez le nom de ligne pour indexer et supprimer des lignes.
Tnew.Properties.RowNames = Tnew.LastName;
Tnew.LastName = [];
Tnew('Smith',:) = [];
size(Tnew)
ans = 1×2
103 7
La table compte maintenant une ligne et une variable en moins.
Rechercher des lignes à supprimer
Vous pouvez également rechercher des observations dans la table. Par exemple, supprimez les lignes de tous les patients âgés de moins de 30 ans.
toDelete = Tnew.Age < 30; Tnew(toDelete,:) = []; size(Tnew)
ans = 1×2
86 7
La table compte maintenant 17 lignes en moins.
Voir aussi
table
| readtable
| array2table
| cell2table
| struct2table