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?

Antworten (2)

Gaurav Aggarwal
Gaurav Aggarwal am 28 Jun. 2020

0 Stimmen

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.
Steven Lord
Steven Lord am 28 Jun. 2020

0 Stimmen

If you want to turn this into a timetable use table2timetable instead of table2array and array2timetable like I think you are trying to do.

Kategorien

Gefragt:

am 28 Jun. 2020

Beantwortet:

am 28 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by