Table Assignment using two tables of different height.
9 views (last 30 days)
Show older comments
I have two tables of different heights: table1 and table2.
Both tables have the field x and table2 also has the field y.
I want to assign to table1 the parameter y where the table1 x parameter is equal to the table2 x parameter.
Since the tables are big It would be too inefficient of me to try and do double for loops I believe. Can someone help me with an efficient code to do that?
To be more informative, I'd like to do:
table1(table1.x == table2.x).y = table2.y
But since the two tables are not in the same height I can't do that.
0 Comments
Accepted Answer
Stephen23
on 10 Feb 2022
You can use ISMEMBER like this:
T1 = array2table([8,5;9,9;2,9;9,2;6,9;1,9;3,5])
T2 = array2table([6,0;7,0.1;8,0.2;9,0.3])
[X,Y] = ismember(T1.Var1,T2.Var1);
T1.Var2(X) = T2.Var2(Y(X))
More Answers (1)
See Also
Categories
Find more on Tables 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!