Compare two tables's rownames (A and B), if the rownames of B are in A then add a column in A with the columns in B

1 view (last 30 days)
Hi all,
I have two tables. Table A (995*7 table) and Table B (16*1 table). I want to compare the rownames of both. I want to add a column in A that will show the value associated to the rowname that matches B.
e.g.
A table:
RowNames Var1 Var2 Var3
a . . .
b . . .
c . . .
d . . .
e . . .
B table:
RowNames Var1
b tower
z bottom
y top
result table A:
RowNames Var1 Var2 Var3 VarNEW
a . . . (empty)
b . . . Tower
c . . . (empty)
d . . . (empty)
e . . . (empty)
Hope you can help me
Thank you

Answers (1)

Cris LaPierre
Cris LaPierre on 11 Oct 2021
Edited: Cris LaPierre on 11 Oct 2021
I would first try using the Join Tables live task. This will interactively let you align two tables using key variables. Once you have the table you want, you can generate the corresponding code.
The live task represents the different ways of joinging two tables visually using Venn diagrams. Here's a screenshot of what the app looks like.
  2 Comments
Usune Elizondo
Usune Elizondo on 11 Oct 2021
Thank you for the answer, but I just have shown a simple example. I have a lot of tables and I am working with loops to format and do calculations. Al the tables are inside a structure, is it possible to get the code for one table and then modify it so I can use it for all? Or do I need to load one by one each of them?

Sign in to comment.

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!