Count frequencies of occurence using both text and number

2 visualizaciones (últimos 30 días)
Beth Lewis
Beth Lewis el 17 de Ag. de 2021
Editada: Beth Lewis el 17 de Ag. de 2021
Hi there,
I'll give a brief example of my table:
Fish species: Count:
red fish 2
red fish 4
red fish 9
blue fish 11
blue fish 2
blue fish 2
blue fish 1
yellow fish 2
yellow fish 10
etc etc...
What I am trying to do is to find the sum of all 'red fish' 'blue fish' etc with about 500 rows and do it automatically not manually.
So I want the code to finish saying this:
red fish 15
blue fish 16
yellow fish 12
for all 29 fish species...
Help?

Respuesta aceptada

Adam Danz
Adam Danz el 17 de Ag. de 2021
Editada: Adam Danz el 17 de Ag. de 2021
Use groupsummary
% Produce table
% I use categorical variables but you can you strings or char-vectors
rng('default') % for reproducibility, do no include in your implementation
cats = categorical(["red fish","blue fish"])';
fishList = cats(randi(2,500,1));
counts = randi(10,500,1);
T = table(fishList, counts, 'VariableNames', {'Fish','Counts'});
% Show first few rows of table
head(T)
ans = 8×2 table
Fish Counts _________ ______ blue fish 6 blue fish 6 red fish 9 blue fish 3 blue fish 4 red fish 2 red fish 10 blue fish 7
% Count each fish group
groupsummary(T,'Fish')
ans = 2×2 table
Fish GroupCount _________ __________ blue fish 243 red fish 257

Más respuestas (0)

Categorías

Más información sobre Tables en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by