Filter löschen
Filter löschen

Table Assignment using two tables of different height.

10 Ansichten (letzte 30 Tage)
kuku hello
kuku hello am 9 Feb. 2022
Kommentiert: kuku hello am 10 Feb. 2022
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.

Akzeptierte Antwort

Stephen23
Stephen23 am 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])
T1 = 7×2 table
Var1 Var2 ____ ____ 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])
T2 = 4×2 table
Var1 Var2 ____ ____ 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))
T1 = 7×2 table
Var1 Var2 ____ ____ 8 0.2 9 0.3 2 9 9 0.3 6 0 1 9 3 5

Weitere Antworten (1)

Adam Danz
Adam Danz am 9 Feb. 2022
There are several ways to join tables.
If you get stuck, provide an example of the two tables and the expected result after joining the tables, and show what you've tried so we can help out.
  1 Kommentar
kuku hello
kuku hello am 10 Feb. 2022
Bearbeitet: kuku hello am 10 Feb. 2022
Thanks I wasn't aware of those functions, and yet the variable x is not equal in both tables.
Meaning some x variables in table 1 exist and in table 2 they don't and vice versa. I see that join ain't what I'm looking for and the innerjoin deletes the rows that are not in common. outerjoin would duplicate rows with the same x since in table2 x values repeat themselves.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by