Find frequency of words from different books
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a cell array of data collected from 5 different books
This is one of the cell arrays. It gives me the count of each word in the book (I used count{ii} = tabulate(text{ii}) ).
I need to create a unique count for all the words found in all the 5 books. So, for example, for the word 'the', I have to sum up all the frequencies in all 5 cells.
I was thinking about using a table but I really can't get it done.
Any ideas?
0 commentaires
Réponse acceptée
Voss
le 25 Mar 2024
Maybe this will help:
% example data:
counts = { ...
{'the' 464; 'project' 87; 'of' 253} ...
{'the' 300; 'of' 314; 'nothing' 17; 'project' 13} ...
{'the' 100; 'price' 99; 'of' 114; 'everything' 12; 'value' 88; 'nothing' 54} ...
}
% concatenate the cell arrays in counts and convert into a table
T = cell2table(vertcat(counts{:}),'VariableNames',{'word','count'})
% use groupsummary to find the total counts
G = groupsummary(T,'word','sum')
2 commentaires
Voss
le 25 Mar 2024
You're welcome!
GroupCount is the number of times each word appears in the table T, so that would correspond to the number of books each word appears in. I don't think you need that information (it's automatically included by groupsummary), and you can remove it.
% example data:
counts = { ...
{'the' 464; 'project' 87; 'of' 253} ...
{'the' 300; 'of' 314; 'nothing' 17; 'project' 13} ...
{'the' 100; 'price' 99; 'of' 114; 'everything' 12; 'value' 88; 'nothing' 54} ...
};
% concatenate the cell arrays in counts and convert into a table
T = cell2table(vertcat(counts{:}),'VariableNames',{'word','count'});
% use groupsummary to find the total counts
G = groupsummary(T,'word','sum');
% remove GroupCount
G = removevars(G,'GroupCount')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!