Join Multiple Tables horizontally (can have duplicate variables) in which some tables might be empty.
39 views (last 30 days)
Show older comments
Hello All,
I want to Join Multiple Tables horizontally (can have duplicate variables) in which some tables might be empty.
How to do that ?
TIA!!!
0 Comments
Answers (1)
Benjamin Kraus
on 22 Feb 2023
Edited: Benjamin Kraus
on 22 Feb 2023
If your goal is to simply concatenate two tables, such that the first row of each table is combined into the first row of the output, the second row of each table is merged into the second row of the output, etc. all you need is to use the [] operator. That is, assuming they are the same height, or one of the tables is empty, and none of the tables have duplicate variable names. However, it is easy to fix duplicate variable names.
Consider this example:
t1 = table((1:10)')
t2 = table((11:20)')
t3 = table()
% Append a prefix to table variable names to avoid duplicate names.
t1.Properties.VariableNames = "t1." + t1.Properties.VariableNames
t2.Properties.VariableNames = "t2." + t2.Properties.VariableNames
% Now concatenate the three matrices:
t = [t1 t2 t3]
If your goal is more of a "join" operation, in which you use the value in one variable of each table as a key to match rows from multiple tables, you want to look into the different ways to Join Tables, including the innerjoin, outerjoin, and join commands.
0 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!