Sub heading in matlab table

Hello,
I am trying to create the table shown in the image attached. So far my code generates the table with all the headings but without the 'old fruit' and 'new fruit' headings. How do I add these headings into my code?
table.Properties.VariableNames(1:4) = {'apples','oranges','strawberries','grapefruit'}
writetable(table,'fruit.csv')
thank you

 Accepted Answer

There isn't an option to arrange subheadings as described in your attached image.
However, there are several ways to rearrange the table to contain subheadings.
Option 1: nested subheaders
MATLAB R2018b or later
apples = table([3;4],[1;4],'VariableNames',{'old','new'});
oranges = table([3;4],[1;4],'VariableNames',{'old','new'});
strawberries = table([3;4],[1;4],'VariableNames',{'old','new'});
grapefruit = table([3;4],[1;4],'VariableNames',{'old','new'});
fruit = table(apples, oranges, strawberries, grapefruit)
fruit = 2×4 table
apples oranges strawberries grapefruit old new old new old new old new __________ __________ ____________ __________ 3 1 3 1 3 1 3 1 4 4 4 4 4 4 4 4
Option 2: nested subheaders version 2
MATLAB R2018b or later
old = table([3;4],[6;4],[5;3],[1;2], 'VariableNames', {'apples','ornages','strawberries', 'grapefruit'});
new = table([1;4],[1;13],[2;11],[3;3], 'VariableNames', {'apples','ornages','strawberries', 'grapefruit'});
fruit = table(old,new)
fruit = 2×2 table
old new apples ornages strawberries grapefruit apples ornages strawberries grapefruit _______________________________________________ _______________________________________________ 3 6 5 1 1 1 2 3 4 4 3 2 4 13 11 3
Option 3: Store subheaders in a table variable
MATLAB R2013b or later
Note that the use of subheadings above makes indexing difficult. Here's a recommendation that preserves the labels but allows for easier indexing:
fruit = table(["old";"old";"new";"new"], ...
[3;4;1;4],[6;4;1;13],[5;3;2;11],[1;2;3;3], ...
'VariableNames', {'age','apples','oranges','strawberries','grapefruit'})
fruit = 4×5 table
age apples oranges strawberries grapefruit _____ ______ _______ ____________ __________ "old" 3 6 5 1 "old" 4 4 3 2 "new" 1 1 2 3 "new" 4 13 11 3

1 Comment

Thank you so much!! I tried option 2 and it worked!

Sign in to comment.

More Answers (0)

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!