Extract rows with a range of values
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 26 de Jun. de 2019
Are these large tables? There are some direct methods that can vectorize but which take a fair bit of memory.
Respuestas (1)
Walter Roberson
el 26 de Jun. de 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 comentarios
Ver también
Categorías
Más información sobre Tables en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!