Vertcat tables with structure variables with different fieldnames
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Véronique Chouinard
il 13 Ago 2024 alle 22:52
Commentato: Véronique Chouinard
il 14 Ago 2024 alle 0:46
Hello! I'm having troubles when creating a table within a loop because some table variables are structure arrays that have different fieldnames. I get the following error :
Error using vertcat : Names of fields in structure arrays being concatenated do not match. Concatenation of structure arrays requires that these arrays have the same set of fields.
Example of my code :
%Inputs
ExampleTable = table();
Orig_1 = struct('m4ADG','folder_1','Group','folder_group');
Orig_2 = struct('m5B0','folder_2','Group','folder_group');
item = {'charArray',[1 1 1], Orig_1; 'otherChar',[1 2 1], Orig_2};
%function
VarNames = {'Var1','Var2','Var3'};
for j = 1:size(item,1)
Var{1,1} = item{j,1};
Var{1,2} = item{j,2};
Var{1,3} = item{j,3};
NewTable = cell2table(Var);
NewTable.Properties.VariableNames = VarNames;
if isempty(ExampleTable)
ExampleTable = NewTable;
else
tmp = table2cell(NewTable);
ExampleTable = [ExampleTable; tmp];
end
clear NewTable Var
end
This whole thing runs within a class with the defined property ExampleTable as table and item, Orig_1|2 comes from elsewhere. Do you know how I can fix the problem?
0 Commenti
Risposta accettata
Walter Roberson
il 13 Ago 2024 alle 23:14
Use
Var{1,3} = item(j,3);
so that the third variable is a cell containing structures, instead of trying to concatenate structures directly.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su LaTeX in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!