Uneven Table concatenation issue

12 views (last 30 days)
Alyna
Alyna on 16 Dec 2014
Edited: per isakson on 16 Dec 2014
I'm looking to make a table that has 9 row. Rows 1-7 have 5 columns, but rows 8 and 9 will only have 3 columns. MATLAB keeps giving me the error that this won't work because the rows must be the same length (Three columns have 9 items while 2 only have 7 items)
How can I get around this? Would adding zeros to the end of the data be easiest?
*The 8th and 9th row are also averages and std. deviations of their columns so if someone could also explain how to add these into the table without making them a new column, that would also be greatly appreciated!!

Accepted Answer

per isakson
per isakson on 16 Dec 2014
Edited: per isakson on 16 Dec 2014
Not 0, NaN is a better choice.
The documentation on table discusses missing data at length , e.g. Clean Messy and Missing Data in Tables. Let that be a starting point.

More Answers (1)

Image Analyst
Image Analyst on 16 Dec 2014
You can't do that. A table has to be rectangular and each column must be the same data type. You can add 0's in columns 8 and 9 like you suggested but that's the only way. Or you can use a cell array instead of a table and just have the columns 8 and 9 be empty/null.
Why not just have 2 arrays? Why does it all need to be in a single variable, especially since there's some difference in what columns 8 and 9 represent?

Categories

Find more on Tables in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!