finding data from unique id in two tables
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hi,
i have a two tables one is the master table with the following fields:
table a
unique id name age
j1 john 34
j2 max 18
j3 pablo 17
j4 immy 32
and so on consisting of around 100 rows
and the second table is just a column of unique ids but not in the same order as the master table for eg:
table b
unique id
j3
j2
around 40 rows ( number can change)
how do i extract data from table a using unique id from table b and fill the name and age column in table b?
i want the output of table b to be
unique id name age
j3 pablo 17
j2 max 18
do i have use a for loop only and check each unique id or is there a better and faster way?
any help on this matter would be highly appreciated.
thanks
0 comentarios
Respuesta aceptada
Rik
el 15 de Oct. de 2021
You can use the ismember function.
2 comentarios
Rik
el 15 de Oct. de 2021
No need for any loops at all:
%Create the data
UID={'j1';'j2';'j3';'j4'};
name={'john';'max';'pablo';'immy'};
age=[34;18;17;32];
T1=table(UID,name,age);
UID={'j3';'j2'};
T2=table(UID);
%Find matches
[a,b]=ismember(T2.UID,T1.UID);
%Assign data
T2.name={T1.name{b}}.';
T2.age=T1.age(b);
T2
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!