How can I convert a table into separate columns?

I tried to use table2array to turn the table with separate columns. However, matlab did not allow me to do so. I need to turn them into columns as I want to use the retime function to do daily average calculation afterwards. But before using retime function, I will need to be able to produce a timetable with the variables in each column in it. Any suggestions?

Answers (2)

Hi Oi,
table2array tries to create a homogeneous array from the table i.e. the table should have same data type throughout. However, as I see it, your table consists of multiple data type and thus the error. Read more here:https://www.mathworks.com/help/matlab/ref/table2array.html
You can try creating a cell array and then extract the columns
cell_name = table2cell(table_name); %% converts table structure to cell structure
ithcol = cell_name(:,i); %% extracts ith column
var = cell2mat(ithcol); %% converts cell array to matrix (assumes same data type throughout column)
Hope this helps. Thanks.
If you want to turn this into a timetable use table2timetable instead of table2array and array2timetable like I think you are trying to do.

Categories

Asked:

on 28 Jun 2020

Answered:

on 28 Jun 2020

Community Treasure Hunt

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

Start Hunting!