Split table into Chunks.
古いコメントを表示
Hi, I have a large table. I want to split the table into multiple chunks via loop and save its result in workspace so that later I can add into the powepoint slides in Matlab. But the subtables stores in .mat file. I want to save them into workspace as a table.
how can I do it. Any help would be great.
Thanks
I have written the following code:
T = T_measfine;
chunkSize = 8; % chunk size from number of rows
noOfChunks = ceil(size(T,1) / chunkSize)
% %% To Output chunks
for idx = 1:noOfChunks
if idx == noOfChunks
subtable = T(1:end,:)
else
subtable = T(1:chunkSize,:)
savefile = strcat('subdata',num2str(idx));
save(savefile, 'subtable')
end
end
5 件のコメント
Walter Roberson
2022 年 10 月 25 日
You want to create a table object whose variable contains rows, each of which is a table itself?
Or you want to dynamically create new variables in the workspace, each of which stores one of the subtables?
Saria Ahmad
2022 年 10 月 25 日
Walter Roberson
2022 年 10 月 25 日
Why do you need separate named variables? The process for adding information to PowerPoint slides involves calls that pass data by value not by variable name.
Saria Ahmad
2022 年 10 月 25 日
Walter Roberson
2022 年 10 月 25 日
yes but how does that require that different variables be used for each table? Instead of having a cell array of tables for example?
採用された回答
その他の回答 (1 件)
I'm not really sure how you want to add subtables to power point slides, but you can create subtables in the following way:
T = randi(10, 53,3);
chunkSize = 8; % chunk size from number of rows
noOfChunks = ceil(size(T,1) / chunkSize);
rows = size(T,1);
cellArray = cell(0,3);
subTableNames = {};
for ii = 1:noOfChunks
start_idx = (ii-1)*chunkSize+1;
if ii == noOfChunks
cellArray{ii} = T(start_idx:end, :);
else
cellArray{ii} = T(start_idx:start_idx+chunkSize-1, :);
end
subTableNames{ii} = ['T', num2str(ii)];
end
T2 = cell2table(cellArray(:).', 'VariableNames', subTableNames(:))
T2.T1
For the purpose of power point slide, I guess the above suggested solution with evail is fine.
However, for other applications, please read this:
https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
カテゴリ
ヘルプ センター および File Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!