How to find the percentage of smaller than X in a specific column in all tables in a cell

1 view (last 30 days)
Hello everyone
I have a cell with four "360x5 tables" inside it. I want to understand the percentages of smaller than 0.5 in the all fifth columns of all tables (together) across this cell.
What I need as output is just one 360x1.
for example,
I attached my cell.
Thank you

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 12 Nov 2020
clc
load CELL.mat
% Extract all 5th columns
newMat = zeros(360, 1);
for idx = 1:length(CELL)
newMat(:, idx) = CELL{1}.col5;
end
% Calculate percentage of smaller than 0.5
result = zeros(360, 1);
for idx = 1:length(newMat)
smallerThn = nnz(newMat(idx, :) < 0.5);
result(idx, 1) = (smallerThn / numel(newMat(idx, :))) * 100;
end
% Convert the result into Table
T = array2table([newMat, result],...
'VariableNames', {'5th column of first table',...
'5th column of second table',...
'5th column of third table',...
'5th column of fourth table',...
'Percentage of smaller than 0.5'});
disp(T)

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!