How to count number from database
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a database which is a 1x11 struct.

I want to find out the total number present of each countries.
My code is
function [country, count] = movies_by_countries4(TV)
List = arrayfun(@(x) x.country, TV, 'UniformOutput', false);
[Group, country] = findgroups(List');
count = accumarray(Group,1);
end
And it produces result

However, I want to calculate the result for each individual countries.
So the expected result is:
country =
'CA'
'CN'
'US'
count =
1
5
6
what could I do to seperate the last struct and divide it into two individual country.
0 commentaires
Réponse acceptée
dpb
le 30 Nov 2021
I don't like struct stuff so didn't try to construct it since can't copy an image...but following should provide enough bread crumbs along the trail to be able to get there...
country=[repmat({'US'},5,1);repmat({'CN'},4,1);{'CA'};{'US''CN'}]; % generate the data
ix=contains(country,"'"); % identify the dual identity
c=arrayfun(@(c)split(c,"'"),country(ix),'UniformOutput',false); % and split them apart
country=[country(~ix);c{:}]; % add them to the unique
Above is updated vector; if need the original use different variable name for LHS.
Now get the summary counts...
>> summary(categorical(country))
CA 1
CN 5
US 6
>>
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Database Toolbox 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!