Calculating percent of data in table
117 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a 1x12 table, Is there any quick way or function to find percentage for each column based on total?
for example:
data = (1,2,3)
percent first = (1*100)/(1+2+3) = 16.66 %
percent two = (2*100)/(1+2+3) = 33.33 %
2 commentaires
Adam Danz
le 28 Avr 2020
"I have a 1x12 table,"
So you have a table with 1 column? The rest of your question sounds like you have >1 column.
Réponse acceptée
Tommy
le 28 Avr 2020
For the following table:
T = table;
T.data = randi(10,1,12);
you can use:
T.percentages = 100 * T.data ./ sum(T.data);
which gives:
>> T.data
ans =
10 1 9 2 5 3 2 3 9 10 4 9
>> T.percentages
ans =
14.9254 1.4925 13.4328 2.9851 7.4627 4.4776 2.9851 4.4776 13.4328 14.9254 5.9701 13.4328
and to be sure:
>> sum(T.percentages)
ans =
100
2 commentaires
Tommy
le 29 Avr 2020
For that table, you could use { } indexing to obtain the cells within and then cell2mat to convert to a double array:
arr = cell2mat(data{1,:});
percentages = 100 * arr ./ sum(arr);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!