Aggiunta e cancellazione di righe in una tabella
Questo esempio mostra come aggiungere e cancellare righe in una tabella. È inoltre possibile modificare le tabelle utilizzando l'Editor delle variabili.
Caricamento dei dati di campionamento
Caricare i dati dei pazienti campione e creare una tabella T.
load patients
T = table(LastName,Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
size(T)ans = 1×2
100 8
La tabella T presenta 100 righe e otto variabili.
Aggiunta di righe per concatenazione
Leggere i dati di più pazienti da un file delimitato da virgole morePatients.csv, in una tabella T2. Quindi, aggiungere le righe da T2 alla fine della tabella T.
T2 = readtable('morePatients.csv');
Tnew = [T;T2];
size(Tnew)ans = 1×2
104 8
La tabella Tnew presenta 104 righe. Al fine di concatenare verticalmente due tabelle, entrambe le tabelle devono avere lo stesso numero e gli stessi nomi di variabili. Se i nomi delle variabili sono diversi, è possibile assegnare direttamente nuove righe in una tabella a righe di un'altra tabella. Ad esempio, T(end+1:end+4,:) = T2.
Aggiunta di righe da un array di celle
Per aggiungere nuove righe memorizzate in un array di celle, concatenare verticalmente l'array di celle alla fine della tabella. È possibile concatenare direttamente da un array di celle quando l'array dispone del numero corretto di colonne e il contenuto delle celle può essere concatenato nelle variabili di tabella corrispondenti.
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
È inoltre possibile convertire un array di celle in una tabella utilizzando la funzione cell2table.
Aggiunta di righe da una struttura
È inoltre possibile aggiungere nuove righe memorizzate in una struttura. Convertire la struttura in una tabella e concatenare le tabelle.
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
Omissione di righe duplicate
Per omettere le righe duplicate di una tabella, utilizzare la funzione unique.
Tnew = unique(Tnew); size(Tnew)
ans = 1×2
107 8
unique ha cancellato due righe duplicate.
Eliminazione di righe per numero di riga
Eliminare le righe 18, 20 e 21 dalla tabella.
Tnew([18,20,21],:) = []; size(Tnew)
ans = 1×2
104 8
La tabella ora contiene le informazioni su 103 pazienti.
Eliminazione di righe per nome di riga
Per prima cosa, specificare la variabile degli identificatori LastName, come nomi di riga. Quindi, cancellare la variabile LastName da Tnew. Infine, utilizzare il nome della riga per indicizzare e cancellare le righe.
Tnew.Properties.RowNames = Tnew.LastName;
Tnew.LastName = [];
Tnew('Smith',:) = [];
size(Tnew)ans = 1×2
103 7
La tabella ora ha una riga in meno e una variabile in meno.
Ricerca di righe da cancellare
È inoltre possibile cercare le osservazioni nella tabella. Ad esempio, cancellare le righe per i pazienti di età inferiore ai 30 anni.
toDelete = Tnew.Age < 30; Tnew(toDelete,:) = []; size(Tnew)
ans = 1×2
86 7
La tabella ora ha 17 righe in meno.
Vedi anche
table | readtable | array2table | cell2table | struct2table