How can I convert this table to a cell array as shown in the screenshot?

I have a CSV file that looks like thistable.jpg and I would like to convert it to two cell arrays by id.
cell1.jpg
One array contains all "t" of the same id (shown above), and the other array contains all "measure" of the same id as shown below
.cell2.jpg

 Accepted Answer

tout = varfun(@(x){x(:)'},T,'GroupingVariables','id');
C = tout{:,3:end};
measure = C(:,1);
t = C(:,2);

4 Comments

Thank you! It appears to give a 2x1 cell rather than the 1x2 I was looking for. Also the elements inside the cell need to be transposed. But I can do the rest myself. Thank you very much for the answer!
I'm fix (about transpose).
Maybe accept it answer? Or ...
Sorry I'm new to this community, didn't really notice that "Accept this answer" button. My bad!

Sign in to comment.

More Answers (1)

Use the following commands
T = readtable('filename.csv')
c{1} = T{T.id==1,'measure'}
c{2} = T{T.id==2,'measure'}

Products

Release

R2019a

Community Treasure Hunt

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

Start Hunting!