Joining a column from one table to another by id
1 view (last 30 days)
Show older comments
I have two tables A and B.
A portion of Table A (1256X1) looks like this:
ID
'46181193'
'11933657'
'98101224'
'9810114303'
'781027845'
'63241627'
'89541678'
'228511401'
Where ID is cell
A portion of Table B (3079X2) looks like this:
ID N
'46181193' 3
'98101224' 1
'781027845' 1
'63241627' 6
'89541678' 1
'96292061' 1
'1496117981' 1
'11592285' 6
'32002285' 5
'36042285' 3
Here ID is cell and N is double. I want Table A to also have the column N by matching the ID variables from Table B. As can be seen clearly Table B has more rows, sometimes repeatation of the values of some older rows. But the end table that I want should have 1256X2 dimension
0 Comments
Answers (1)
Tommy
on 13 Apr 2020
Edited: Tommy
on 13 Apr 2020
If you know each ID in A is included in B exactly once, I believe this should work:
A = [A rowfun(@(rn) B.N(strcmp(B.ID,rn)), A, 'OutputVariableNames', 'N')];
(edit) Ok, try this:
A = [A rowfun(@(rn) B.N(find(strcmp(B.ID,rn),1)), A, 'OutputVariableNames', 'N')];
5 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!