How can I concatenate tables vertically?
947 views (last 30 days)
Show older comments
MathWorks Support Team
on 4 Jul 2019
How can I concatenate two or more tables vertically if they have the same headers?
Accepted Answer
MathWorks Support Team
on 5 Jul 2019
To concatenate two or more tables vertically, you can use "vertcat" either as a function or as an operator - just as you would do to vertically concatenate two or more arrays. The headers do not even need be in the same order. Here is an example:
myTable1 = array2table(eye(3));
myTable1.Properties.VariableNames = ["One","Two","Three"];
myTable2 = array2table(2*eye(3));
myTable2.Properties.VariableNames = ["Two","Three","One"];
myTable3 = array2table(3*eye(3));
myTable3.Properties.VariableNames = ["Three","One","Two"];
myTable = [ myTable1; myTable2; myTable3 ]
The documentation page for "vertcat" explains that this function accepts table inputs:
2 Comments
Stephen23
on 11 Jul 2019
Edited: Stephen23
on 11 Jul 2019
"...if I could create the 10 tables within a loop."
N = 10;
C = cell(1,N);
for k = 1:N
C{k} = table(...)
end
vertcat(C{:})
Although most likely you would be better off using one table, as they are specifically designed to group data and process those groups, without requiring separate tables.
More Answers (0)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!