Extract rows with a range of values
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have two tables. The first table (tab1) has column with ids. We call it ID. The second table (tab2) also has ids which is called ID as well. I am trying to extract all the rows in tab2 that has at least one match of ID from tab1. Following is what I have tried:
rev_table=tab2(tab1.ID,:);
Could someone help please?
2 Commenti
Walter Roberson
il 26 Giu 2019
Are these large tables? There are some direct methods that can vectorize but which take a fair bit of memory.
Risposte (1)
Walter Roberson
il 26 Giu 2019
mask = any(any(tab2{:,:} == reshape(tab1.ID, 1, 1, []),3),2);
selected_rows = tab2(mask,:);
Requires R2016b or later in the form written.
0 Commenti
Vedere anche
Categorie
Scopri di più su Tables in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!