MATLAB: Extract data from structure into table with multiple columns instead of one column


I have my data stored in a structure. This data was collected from 59 participants. I want to extract some of this data into a table. The data I want to extract is stored in the structure as 30 rows x 1 column for each participant. When I extract the data using the script below I get a 1770 x 1 table (59×30=1770 so all the data is being placed in 1 column). What I want is a table with 59 columns (one for each participant) x 30 rows. Can anyone advise how I do this?
sFiles = bst_process('CallProcess', 'process_select_search', [], [], ...
'search', '(([name CONTAINS "resample"]))');
T2 = [];
for iFile = 1:length(sFiles)
DataMat = in_bst_data(sFiles(iFile).ChannelFile)
ICA_selected = DataMat.Projector(2).CompMask;
T2 = [T2; ICA_selected];

Best Answer

  • Change
    T2 = [T2; ICA_selected]
    % ^ vertical concatenation
    T2 = [T2, ICA_selected];
    % ^ horizontal concatenation (requires vectors of equal height)