Extracting data from cell array

Let's say that i have
data =
1×4 cell array
{12×1 cell} {12×1 cell} {12×1 int32} {12×1 int32}
first 12x1 cell array contains Names, second sournames, third age and forth id numer.
I would like to do something like extract just 1st elements from each cell array - it woul'd give me an array of data for one person, then do it for the next 11 rows.
How to make it? It should be convert into struct, and I know that repmat function can be useful here, but i have no clue how to do it.

1 comentario

KSSV
KSSV el 29 de Nov. de 2020
You can convert cell to structure or table using cell2struct and cell2table. Read about them and then it should be easy to follow.

Iniciar sesión para comentar.

 Respuesta aceptada

Image Analyst
Image Analyst el 29 de Nov. de 2020
Editada: Image Analyst el 29 de Nov. de 2020
It would help you to learn about tables, which are more appropriate in this case than cell arrays:
% Original cell array:
data = {{'Smith' ; 'Gold'}, {'Ann' ; "Agnes"}, {'22' ; '24'}, {'1' ; '2'}}
% Convert cell array into table:
t = table(data{1}, data{2}, data{3}, data{4}, ...
'VariableNames', {'LastName', 'FirstName', 'Age', 'IDNumber'})
% Get out row 1:
a = t(1, :)
% Get out row 2:
b = t(2, :)

Más respuestas (1)

KSSV
KSSV el 29 de Nov. de 2020
T = cell2table(C,...
'VariableNames',{'Name' 'SirName' 'Age' 'Id'}) ;
T
You have the data in Table T, you can extract what you want.

4 comentarios

M
M el 29 de Nov. de 2020
But how to extract for example just 3rd elements from {'Name' 'SirName' 'Age' 'Id'}, and save it as one array?
KSSV
KSSV el 29 de Nov. de 2020
Editada: KSSV el 29 de Nov. de 2020
data = table2array(T)
You can also try using cell2mat striaghtaway with C.
M
M el 29 de Nov. de 2020
cell2mat also would give me just array of everything. I'll try to describe it more clearly.
data = {{'Smith' ; 'Gold' ; }, {'Ann' ; "Agnes"}, {'22' ; '24'}, {'1' ; '2'}};
So i want to have an array from it which would output for example:
a = ['Smith' ; 'Ann' ; '22' ; '1'];
b = ['Gold' ; 'Agnes' ; '24' ; '2']; %and so one(cause i have more data like this)
KSSV
KSSV el 29 de Nov. de 2020
Table is apt for you.....you have it in T.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

M
M
el 29 de Nov. de 2020

Comentada:

el 29 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by