Hinzufügen und Löschen von Tabellenzeilen
Dieses Beispiel veranschaulicht, wie Zeilen in einer Tabelle hinzugefügt und gelöscht werden. Sie können Tabellen auch mithilfe des Variableneditors bearbeiten.
Laden von Beispieldaten
Laden Sie die Beispieldaten von Patienten und erstellen Sie die Tabelle T.
load patients
T = table(LastName,Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
size(T)ans = 1×2
100 8
Die Tabelle T enthält 100 Zeilen und 8 Variablen.
Hinzufügen von Zeilen durch Verknüpfung
Lesen Sie die Daten weiterer Patienten aus der kommagetrennten Datei morePatients.csv in die Tabelle T2. Hängen Sie dann die Zeilen aus T2 am Ende der Tabelle T an.
T2 = readtable('morePatients.csv');
Tnew = [T;T2];
size(Tnew)ans = 1×2
104 8
Die Tabelle Tnew enthält 104 Zeilen. Um zwei Tabellen vertikal miteinander verknüpfen zu können, müssen in beiden Tabellen die Anzahl der Variablen und die Namen dieser Variablen identisch sein. Wenn sich die Variablennamen unterscheiden, dann können Sie neue Zeilen in einer Tabelle direkt den Zeilen aus einer anderen Tabelle zuweisen. Beispiel: T(end+1:end+4,:) = T2.
Hinzufügen von Zeilen aus einem Zellenarray
Um neue Zeilen, die in einem Zellenarray gespeichert sind, anzuhängen, können Sie das Zellenarray vertikal mit dem Ende der Tabelle verknüpfen. Sie können direkt von einem Zellenarray verknüpfen, wenn das Zellenarray die richtige Anzahl Spalten enthält und der Inhalt seiner Zellen mit den entsprechenden Tabellenvariablen verknüpft werden kann.
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
Sie können ein Zellenarray auch mithilfe der Funktion cell2table in eine Tabelle konvertieren.
Hinzufügen von Zeilen aus einer Struktur
Sie können auch neue Zeilen, die in einer Struktur gespeichert sind, anhängen. Konvertieren Sie die Struktur in eine Tabelle und verknüpfen Sie dann die Tabellen.
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
Weglassen von mehrfach vorhandenen Zeilen
Wenn in einer Tabelle die Zeilen, die mehrfach vorhanden sind, weggelassen werden sollen, dann verwenden Sie die Funktion unique.
Tnew = unique(Tnew); size(Tnew)
ans = 1×2
107 8
unique hat zwei mehrfach vorhandene Zeilen gelöscht.
Löschen von Zeilen nach Zeilennummer
Löschen Sie die Zeilen 18, 20 und 21 aus der Tabelle.
Tnew([18,20,21],:) = []; size(Tnew)
ans = 1×2
104 8
Jetzt enthält die Tabelle Informationen zu 103 Patienten.
Löschen von Zeilen nach Zeilenname
Geben Sie zuerst die für Kennungen definierte Variable LastName als Zeilennamen an. Löschen Sie dann die Variable LastName aus Tnew. Verwenden Sie schließlich den Zeilennamen zum Indizieren und Löschen der Zeilen.
Tnew.Properties.RowNames = Tnew.LastName;
Tnew.LastName = [];
Tnew('Smith',:) = [];
size(Tnew)ans = 1×2
103 7
Jetzt enthält die Tabelle eine Zeile und eine Variable weniger.
Suchen nach Zeilen, die gelöscht werden sollen
Sie können auch nach Beobachtungen in der Tabelle suchen. Zum Beispiel könnten Sie die Zeilen für alle Patienten, deren Alter unter 30 liegt, löschen.
toDelete = Tnew.Age < 30; Tnew(toDelete,:) = []; size(Tnew)
ans = 1×2
86 7
Jetzt enthält die Tabelle 17 Zeilen weniger.
Siehe auch
table | readtable | array2table | cell2table | struct2table